Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Hi,

I discovered that the problem was the combination of using both Nginx and Glance API v1.

In short, the explanation is fount at this link: http://stackoverflow.com/questions/22856136/why-underscores-are-forbidden-in-http-header-names

Nginx, by default, drops headers with underscores. This is done to:

prevent ambiguities when mapping headers to CGI variables

Reference: Nginx - Pitfalls - Missing (disappearing) HTTP headers.

However, headers with underscore are specified in the Glance v1 API.

Reference: Glance v1 API - Retrieve image metadata

I also discovered that headers with underscores are completely valid and complaint with the RFC 7230.

The solution add the following line to the nginx config file:

underscores_in_headers on;

Hi,

I discovered that the problem was the combination of using both Nginx and Glance API v1.

In short, the explanation is fount at this link: http://stackoverflow.com/questions/22856136/why-underscores-are-forbidden-in-http-header-namesthread in Stack Overflow.

Nginx, by default, drops headers with underscores. This is done to:

prevent ambiguities when mapping headers to CGI variables

Reference: Nginx - Pitfalls - Missing (disappearing) HTTP headers.

However, headers with underscore are specified in the Glance v1 API.

Reference: Glance v1 API - Retrieve image metadata.

I also discovered that headers with underscores are completely valid and complaint with the RFC 7230.

The solution add the following line to the nginx config file:

underscores_in_headers on;