Я'м использовании nginx в качестве прокси для фильтрации запросов в мое приложение. С помощью "в http_geoip_module" Я'м создание страны код HTTP-заголовок, и я хочу передать его в качестве заголовка запроса, используя "и заголовки-больше-то nginx-модуля". Это блок Location в конфиге nginx:
location / {
proxy_pass http://mysite.com;
proxy_set_header Host http://mysite.com;;
proxy_pass_request_headers on;
more_set_headers 'HTTP_Country-Code: $geoip_country_code';
}
Но это только устанавливает заголовок в ответе. Я попытался с помощью "в more_set_input_headers на" вместо "и more_set_headers", но тогда заголовок Не'т даже прошел в ответ.
Я что-то упускаю?
Если вы хотите передать переменную в прокси-сервере вы должны установить его с прокси-модуль.
location / {
proxy_pass http://example.com;
proxy_set_header Host example.com;
proxy_set_header HTTP_Country-Code $geoip_country_code;
proxy_pass_request_headers on;
}
И теперь он's, переданного прокси-сервера.
Проблема в том, что '_' подчеркивания недопустимы в заголовке атрибута. Если удаление подчеркивания-это не вариант вы можете добавить в блок Server:
underscores_in_headers on;
Это в основном копирование и вставка из @kishorer747 комментировать @Fleshgrinder ответ, и решение проблемы: https://serverfault.com/questions/586970/nginx-is-not-forwarding-a-header-value-when-using-proxy-pass/586997#586997
Я добавил его здесь, как и в моем случае заявление за nginx был работает отлично, но как только ngix был между фляжке приложение, и клиент, мой колбу приложение не увидите заголовки больше. Это было довольно много времени для отладки.