Você precisa carregar mod_proxy_http
para poder fazer proxy do protocolo http.
Estou tentando configurar o Apache como um proxy front-end para um aplicativo Docker. Já fiz isso várias vezes no passado, mas por alguma razão, o novo Ubuntu VPS que tenho não é cooperativo. Estou usando o Apache / 2.4.18.
Estou usando este vhost:
<VirtualHost *:80>
ServerName blog.example.com
ProxyPass / http://127.0.0.1:8083/
ProxyPassReverse / http://127.0.0.1:8083/
</VirtualHost>
Eu habilitei os módulos necessários:
a2enmod proxy
a2enmod proxy_html
a2enmod xml2enc
O Apache é iniciado corretamente, mas recebo esse erro nos registros, mais a mensagem padrão de falha do 500 no navegador:
AH01144: No protocol handler was valid for the URL /. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
Esse problema é muito mencionado na web, mas o conselho basicamente reflete o conteúdo da mensagem de erro, que é preciso garantir que os módulos proxy estejam carregados. Eu posso confirmar 100% que eles estão carregados - na verdade, se eu replicar os comandos LoadModule
em minha configuração vhost, o Apache não iniciará, porque os módulos já estão carregados.
Eles também parecem carregados aqui também:
$ apachectl -M | grep proxy
proxy_module (shared)
proxy_html_module (shared)
Posso confirmar que o aplicativo Docker está atendendo a uma resposta HTTP (acho que não está indo tão longe assim):
root@agnes:~# wget localhost:8083
--2018-04-02 19:04:46-- http://localhost:8083/
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:8083... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7 [text/html]
Saving to: ‘index.html’
index.html 100%[=========================================================================================================================================>] 7 --.-KB/s in 0s
2018-04-02 19:04:46 (1.20 MB/s) - ‘index.html’ saved [7/7]
root@agnes:~# cat index.html
Hello
Eu estou um pouco preso quanto a qual outro problema eu poderia estar tendo. Pesquisar o problema ainda não é trivial, uma vez que os resultados dos mecanismos de pesquisa são abafados por uma resposta comum que parece não se aplicar no meu caso.
Você precisa carregar mod_proxy_http
para poder fazer proxy do protocolo http.