Подтвердить что ты не робот

Apache proxyPassReverse и Websockets

Я работаю над проектом Perl Mojolicious, который использует веб-узлы. Я хочу запустить его на общем сервере под управлением apache и использовать proxyPass и proxyPassReverse, чтобы сделать URL более привлекательным для моего Mojolicious кода, работающего с Hypnotoad.

Я установил его следующим образом.

URL-адрес Apache:

mydomain.com

Hypnotoad url:

mydomain.com:8080

Со следующей записью apache я могу отменить прокси сервер Hypnotoad на

project.mydomain.com

apache.conf запись

<VirtualHost *:80>
  ServerName project.mydomain.com
  DocumentRoot /var/www/project
  <Directory /var/www/project/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory>
  ProxyRequests Off
  ProxyPreserveHost On
  ProxyPass / http://mydomain.com:8080/ keepalive=On
  ProxyPassReverse / http://mydomain.com:8080/
  RequestHeader set X-Forwarded-HTTPS "0"
</VirtualHost>

Однако мои запросы на веб-рассы дают ошибку 404, когда я использую:

ws://project.mydomain.com/get-data

и ошибка 302, когда я использую:

ws://mydomain.com:8080/get-data

Я предполагаю, что это не будет проблемой, поскольку веб-сайт не проверял подлинность, но они используют Mojolicious маршруты, чтобы проверить, что вы можете публиковать через веб-сайт.

Из того, что я вижу, Apache не поддерживает обратные прокси-серверы. В файлах apache/httpd conf.

Кто-нибудь нашел полезное решение для этого, используя Apache, который является стабильным для рабочей среды?

4b9b3361

Ответ 1

В марте Jim Jagielski исправил патч для магистрали Apache, который позволяет корректно проксировать веб-узлы. Патч добавляет новый подмодуль, называемый proxy_wstunnel, который позволяет mod_proxy работать с протоколами "ws" и "wss" .

Модуль еще не находится в официальных релизах Apache (по состоянию на 8 июня 2013 года), поэтому вам нужно будет скомпилировать его самостоятельно. Блог Voyageur описывает процесс для Apache 2.2, но Apache 2.4 должен быть проще

Ответ 2

Apache httpd 2.4.6 включает в себя запросы на прокси-серверы.