Невозможно установить 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

Просто определите это и установите его на "вкл"

Другие вопросы по тегам