Настройте apache, чтобы не использовать заголовок x-forwarded-host как имя хоста - PullRequest
0 голосов
/ 28 сентября 2018

Я получил 400 неверных запросов при запросе к Apache через K8, если мой запрос с заголовком x-forwarded-host больше 1 выглядит как

www.a.com, www.b.com

Я регистрирую Apache по этому запросу, Apache использует x-forwarded-host в качестве имени хоста.Журнал Apache выглядит следующим образом:

[core: debug] [pid 18] vhost.c (796): [client 172.17.0.7:51726] AH02415: [строгое] Неверное имя хоста 'www.a.com, www.b.com ', проблема рядом с:, www.b

[core: debug] [pid 18] vhost.c (891): [клиент 172.17.0.7:51726] AH00550: клиентотправлено неверно сформированный заголовок узла: www.a.com, www.b.com

[core: debug] [pid 18] protocol.c (1393): [client 172.17.0.7:51726] AH00569: клиент отправленЗапрос HTTP / 1.1 без имени хоста (см. RFC2616, раздел 14.23): / [headers: debug] [pid 18] mod_headers.c (900): AH01503: заголовки: ap_headers_error_filter () 172.17.0.5:80 172.17.0.7 - - [28 /Sep / 2018: 10: 27: 44 +0000] "GET / HTTP / 1.1" 400 0 "-" ""

Я должен настроить Apache, чтобы не использовать x-forward-host длябыть именем хоста.Как я настраиваю его в Apache?

1 Ответ

0 голосов
/ 28 сентября 2018

Этот заголовок отправляется устройством перед вашим Apache.Это устройство, выступающее в качестве прокси-сервера, добавляет этот заголовок.Итак, вы получаете это.Если вы не хотите, чтобы это было в ваших журналах, измените дескриптор формата ваших журналов.

Пример: по умолчанию LogFormat

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

И тот, который я использую на своих производственных серверах:

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

И я использую это при определении access_log:

CustomLog logs/access_log combined


Если я удаляю %{X-Forwarded-For}i и заменяю его по умолчанию %h, «двойной» хостимена (или IP) больше не отображаются.

Если это не относится к вашей конфигурации, добавьте директивы LogFormat и CustomLog из вашего файла конфигурации, чтобы мы могли прокомментировать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...