У нас есть приложение, развернутое на AWS. Впереди балансировщик нагрузки AWS принимает все входящие HTTP-запросы; Экземпляры EC2 находятся прямо за этим балансиром. В отдельном экземпляре HAproxy получает все запросы и делегаты, а затем на реальный сервер приложений на основе Java (В нашем специальном случае сервер haproxy и бизнес-приложений находится в одном экземпляре EC2, haproxy не играет роли баланса нагрузки только для ретрансляции http-запросы, другими словами, сервер haproxy и application - это сопоставление «один к одному»).В HTTP-ответе появляются нестандартные HTTP-заголовки X-Forwarded-Host и т. Д.
Когда мы пытались запустить HTTP-вызов этой системе:
Запрос
GET /token HTTP/1.1
Host: xxx.xxx.xxx.xxx
Response
HTTP/1.1 403 Forbidden
X-Forwarded-Proto: https
X-Forwarded-For: xxx.xxx.xxx.xxx
X-Forwarded-Port: 443
X-Forwarded-Host: xx.xx.xx.xxx
Date: Wed, 09 Dec 2015 22:04:06 GMT
Server: WSO2-PassThrough-HTTP
В моем понимании, X-Forwarded- * должен отображаться только на стороне сервера, чтобы для серверов, чтобы определить, откуда поступают входящие запросы, когда между прокси-серверами есть прокси. Я не знаю, почему эти заголовки также появляются в ответе. Это вызвало у меня озабоченность по поводу утечки внутренних IP-адресов потенциальным вредоносным клиентам.
Ниже приводится фрагменты кода для HAproxy настройки:
frontend worker
bind :443 ssl crt xxx crt xxx crt xx accept-proxy no-sslv3 no-tls-tickets
mode http
acl forwarded hdr_cnt(X-Forwarded-Host) gt 0
acl trusted src 127.0.0.0/24
capture request header X-Forwarded-For len 64
default_backend worker
http-request deny if METH_TRACE
http-request set-header X-Forwarded-Host %[dst] unless forwarded trusted
http-request set-header X-Forwarded-Port %[dst_port]
http-request set-header X-Forwarded-Proto https if { ssl_fc }
option forwardfor if-none
reqidel ^X-Forwarded-For:.* unless trusted
rspadd Strict-Transport-Security:\ max-age=63072000;\ includeSubdomains;\ preload
use_backend xxx.xxx.xxx if { ssl_fc_sni -i xxx.xxx.xxx }
use_backend xxx.xxx.xxx if { ssl_fc_sni -i xxx.xxx.xxx }
Пожалуйста посоветуйте почему эти нестандартные заголовки появляются в ответах HTTP и если это рискованно для безопасности.
Вы видите эти заголовки ответа «X-Forwarded- *» только при отправке запросов через ваш сервер «haproxy» или через AWS ELB или оба? – Castaglia