0

Nous avons une configuration où nous affichons le serveur avec EC2 Load Balancer. À cause de cela, il semble que le "Host" n'est pas correctement défini quand il atteint le serveur. Pour cette raison, nous essayons de définir la valeur en utilisant le proxy, mais cela ne semble pas fonctionner. Ci-dessous est la configuration:Impossible de définir HeaderRequest avec httpd sur Amazon Linux après Load Balancer

NameVirtualHost *:80 

<VirtualHost *:80> 
ServerAdmin [email protected] 
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> 

J'ai regardé autour pour la solution potentielle, mais jusqu'ici je n'ai pas trouvé un qui a réellement résolu le problème. J'ai également doublé vérifié pour se mod_headers SURE permettent:

$ httpd -t -D DUMP_MODULES | grep header 
Syntax OK 
headers_module (shared) 

Y at-il autre chose que nous devons inclure dans la configuration? Comment gérez-vous normalement ce type de cas où le serveur est dirigé par un équilibreur de charge?

+0

AWS ELB ne change pas en-tête de l'hôte –

Répondre

0

Il existe une directive spécifique mod_proxy pour cette appelé:

ProxyPreserveHost 

Il suffit de le définir et le mettre à « sur »