Pracowałem nad projektem Perl Mojolicious, który korzysta z websockets. Chcę go uruchomić na współdzielonym serwerze z uruchomionym apache i użyć proxyPass i proxyPassReverse, aby url ładniejszy dla mojego Mojolicious kod uruchomiony z Hypnotoad.Apache proxyPassReverse and Websockets
Mam to ustawione w następujący sposób.
Apache URL:
mydomain.com
Hypnotoad url:
mydomain.com:8080
z następującymi apache wpisu mogę reverse proxy serwer HYPNOTOAD do
project.mydomain.com
wejściowej 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>
Jednak moje prośby websocket daje błąd 404, gdy używam:
ws://project.mydomain.com/get-data
i 302 error kiedy używam:
ws://mydomain.com:8080/get-data
myślę, że to nie byłoby problemu jest websocket nie sprawdzają uwierzytelnienia, ale używają Mojolicious routes, aby sprawdzić, czy możesz publikować za pośrednictwem websocket.
Z tego, co widzę, Apache nie obsługuje wstecznych proxy websockets. W plikach conf apache/httpd.
Czy ktoś znalazł użyteczne rozwiązanie tego przy użyciu Apache, który jest stabilny dla środowiska produkcyjnego?
@ user1439590 należy przyjąć to jako odpowiedź – lkraav