O Apache anula a conexão quando ambos X-Forwarded-For e X-Forwarded-Host são passados

1

Estou tentando executar o Apache por trás de um proxy reverso Nginx. No entanto, o Apache cancelará a conexão se os cabeçalhos X-Forwarded-For e X-Forwarded-Host estiverem presentes na solicitação. Passar apenas um desses cabeçalhos funciona bem. Usando httpie :

$ http http://my-host:9000
HTTP/1.1 200 OK
...

$http http://my-host:9000 'X-Forwarded-For:172.16.16.1'
HTTP/1.1 200 OK
...

$ http http://my-host:9000 'X-Forwarded-Host:my-host:443'
HTTP/1.1 200 OK
...

$ http http://my-host:9000 'X-Forwarded-For:172.16.16.1' 'X-Forwarded-Host:my-host:443'
http: error: ConnectionError: ('Connection aborted.', BadStatusLine("''",))

Essas solicitações são executadas na mesma máquina que está executando o Apache. Executar a solicitação problemática de uma máquina separada funciona:

some-other-machine $ http http://my-host:9000 'X-Forwarded-For:172.16.16.1' 'X-Forwarded-Host:my-host:443'
HTTP/1.1 200 OK

A máquina rodando o Apache é uma máquina virtual Vagrant com o Debian 8.6 e um IP fixo em uma rede privada . A versão do Apache é 2.4.10 em execução na configuração padrão.

Eu tentei desativar tantos módulos Apache quanto pude, aqui estão os que ainda estão habilitados:

$ apachectl -M
Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 mime_module (shared)
 mpm_prefork_module (shared)
 negotiation_module (shared)
 rewrite_module (shared)
 rpaf_module (shared)
 setenvif_module (shared)
    
por Florian Brucker 17.07.2018 / 14:07

0 respostas

Tags