Proxy vers serveur nodejs socket.io

Par Nikola, il y a 9 ans


Javascript NodeJS

Salut !

J'ai un serveur nodejs qui fonctionne avec socket.io.
Je redirige un nom de domaine vers l'adresse ip de mon serveur avec le port utilisé pour le serveur nodejs.

Le vHost fonctionne bien, le proxy se fait mais je voudrais savoir si le code est bien écrit et est au norme ?

J'aimerai aussi que lorsqu'un visiteur va sur io.monsite.fr, une page 404 ou 403 soit renvoyée, parce que la page tourne en rond quand on va dessus.
Ca vient du fichier server.js, mais comment faire pour qu'une redirection soit faite ?

Mercii

<VirtualHost *:80 *:443> ServerAdmin admin@monsite.fr ServerName io.monsite.fr # io.monsite.fr est redirigé vers io.monsite.fr:3016 (le serveur nodejs en question) SSLEngine on SSLProxyEngine on SSLProxyVerify none SSLProxyCheckPeerCN off SSLProxyCheckPeerName off SSLProxyCheckPeerExpire off SSLCertificateFile /etc/ssl/certs/cert.crt SSLCertificateKeyFile /etc/ssl/private/key.key SSLCertificateChainFile /etc/ssl/certs/cert_int.crt RewriteEngine On RewriteCond %{REQUEST_URI} ^/socket.io [NC] RewriteCond %{QUERY_STRING} transport=websocket [NC] RewriteRule /(.*) wss://io.monsite.fr:3016/$1 [P,L] ProxyRequests off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /socket.io/1/websocket wss://io.monsite.fr:3016/socket.io/1/websocket ProxyPassReverse /socket.io/1/websocket wss://io.monsite.fr:3016/socket.io/1/websocket ProxyPass /socket.io/ https://io.monsite.fr:3016/socket.io/ ProxyPassReverse /socket.io/ https://io.monsite.fr:3016/socket.io/ ProxyPass / https://io.monsite.fr:3016/ ProxyPassReverse / https://io.monsite.fr:3016/ </VirtualHost>

1 réponse

kubz, il y a 9 ans

Hello,

Je me permet de répondre un peu à côté pour juste t'aider à avancer : Est-ce qu'aujourd'hui c'est un point bloquant pour ton projet le fait que si un utilisateur va sur une autre URL que /socket.io il puisse ne rien voir ? Tu te prends la tête sur des fonctions (selon moi) qui ne sont pas les features principales de ton site (je suppose) et surtout ça te prend du temps alors que ce n'est pas un vrai pb (toujours selon moi).

Mise à part ce premier point, regarde du côté des Location

Tu fais une Location /socket.io et les autres Location comme / par exemple, tu fais des redirects.