Как отладить, почему мой 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.

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