Невозможно установить HeaderRequest с httpd на Amazon Linux за балансировщиком нагрузки
У нас есть конфигурация, в которой мы перед сервером с EC2 Load Balancer. Из-за этого кажется, что "Хост" не установлен должным образом, когда он достигает сервера. Из-за этого мы пытаемся установить значение с помощью прокси, но, похоже, оно не работает. Ниже приведена конфигурация:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin admin@test.com
DocumentRoot "/mnt/dataebs/apache/test"
ServerName www.test.com
ServerAlias www.test.com
ErrorLog "/mnt/dataebs/apache/test-error.log"
CustomLog "/mnt/dataebs/apache/test-access.log" common
<Directory "/mnt/dataebs/apache/test">
Options Indexes FollowSymLinks Includes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
RequestHeader set Host "www.test.com"
RequestHeader set Accept-Encoding "gzip, deflate"
ProxyPass /fabric http://<ip_address>/fabric
ProxyPassReverse /fabric http://<ip_address>/fabric
ProxyPassReverseCookiePath / /
</VirtualHost>
Я искал возможное решение, но пока не нашел решения, которое действительно решило бы проблему. Я также дважды проверил, чтобы убедиться, что mod_headers включен:
$ httpd -t -D DUMP_MODULES | grep header
Syntax OK
headers_module (shared)
Есть ли что-то еще, что мы должны включить в конфигурацию? Как вы обычно справляетесь с таким случаем, когда на сервере работает балансировщик нагрузки?
1 ответ
В mod_proxy есть специальная директива для этого:
ProxyPreserveHost
Просто определите это и установите его на "вкл"