Как отладить, почему мой mod_proxy выдает ошибку "Нет обработчика протокола был действительным"?
Я пытаюсь настроить Apache в качестве внешнего прокси-сервера для приложения Docker. Я делал это несколько раз в прошлом, но по какой-то причине новый Ubuntu VPS у меня не работает. Я использую Apache/2.4.18.
Я использую этот vhost:
<VirtualHost *:80>
ServerName blog.example.com
ProxyPass / http://127.0.0.1:8083/
ProxyPassReverse / http://127.0.0.1:8083/
</VirtualHost>
Я включил необходимые модули:
a2enmod proxy
a2enmod proxy_html
a2enmod xml2enc
Apache запускается нормально, но я получаю эту ошибку в журналах, а также стандартное сообщение о сбое 500 в браузере:
AH01144: Обработчик протокола недействителен для URL /. Если вы используете DSO-версию mod_proxy, убедитесь, что субмодули прокси включены в конфигурацию с помощью LoadModule.
Эта проблема часто упоминается в Интернете, но совет в основном отражает содержание сообщения об ошибке, которое заключается в том, что я должен убедиться, что прокси-модули загружены. Я могу подтвердить, что они загружены на 100% - фактически, если я повторю LoadModule
В моем конфиге vhost команды Apache не запускаются, потому что модули уже загружены.
Они также выглядят загруженными отсюда тоже:
$ apachectl -M | grep proxy
proxy_module (shared)
proxy_html_module (shared)
Я могу подтвердить, что приложение Docker отправляет ответ HTTP (я не думаю, что оно так далеко):
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
Я довольно застрял в том, что еще может быть проблема. Дальнейшее изучение проблемы не является тривиальным, так как результаты поисковой системы заглушаются общим ответом, который, кажется, не применим в моем случае.
1 ответ
Вам нужно загрузить mod_proxy_http
чтобы иметь возможность прокси протокола HTTP.