Ho lavorato a un progetto Perl Mojolicious che utilizza websocket. Sto volendo lanciarlo su un server condiviso che esegue apache e usare proxyPass e proxyPassReverse per rendere l'url più carino per il mio codice Mojolicious in esecuzione con Hypnotoad.Apache proxyPassReverse e Websockets
L'ho configurato come segue.
Apache url:
mydomain.com
Hypnotoad url:
mydomain.com:8080
Con la seguente voce apache posso proxy inverso server Hypnotoad a
project.mydomain.com
ingresso 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>
Tuttavia le mie richieste websocket danno un errore 404 quando uso:
ws://project.mydomain.com/get-data
e un errore 302 quando uso:
ws://mydomain.com:8080/get-data
Credo che questo non sarebbe un problema è la websocket non ha controllato l'autenticazione, ma usa percorsi Mojolicious per verificare che sia possibile postare tramite la websocket.
Da quello che posso vedere Apache non supporta le web socket socket proxy. Nei file apache/httpd conf.
Qualcuno ha trovato una soluzione utilizzabile con Apache che è stabile per un ambiente di produzione?
@ user1439590 si dovrebbe accettare come risposta – lkraav