2 votes

Rediriger les websockets vers le port ?

J'ai donc un serveur WebSocket en C++, qui est une entité complètement autonome - il gère l'analyse des en-têtes, la réception, l'envoi, tout cela par lui-même, en écoutant directement le port.

Le problème est qu'il doit fonctionner sur un serveur à côté d'Apache, et c'est un peu un problème. Il y avait une solution ici pour un problème similaire impliquant mod_proxy, mais j'espère pouvoir intercepter et rediriger les communications WebSocket avant même qu'Apache n'en ait connaissance, éventuellement avec iptables.

La question est donc de savoir s'il est possible de diriger le trafic destiné à chat .mysite.net vers un serveur WebSocket sur, disons, le port 8080, alors que tout ce qui est destiné à mysite.net passe comme prévu par Apache ?

0 votes

Pas s'ils ont la même adresse IP. Il faut inspecter l'en-tête HTTP pour savoir si c'est une connexion websocket.

2voto

DigitalMan Points 179

Il s'avère que c'est en fait assez facile ; il suffit de coder le client pour qu'il accède au serveur à l'adresse suivante ws://mysite.com:8080 . Après avoir entendu dire que les WebSockets pouvaient utiliser le port 80, j'ai été assez surpris d'apprendre que ce n'était pas le cas. besoin de à.

1voto

LethaIity Points 428

Désolé, ce n'est pas possible avec iptables car iptables ne parle pas/ne comprend pas le protocole http. Quelqu'un devrait écrire ip_conntrack_http pour que cela puisse fonctionner (quelque chose de similaire à ftp conntrack thingie) ;-) En attendant, vous devriez probablement utiliser apache avec mod_proxy ou nginx.

0 votes

Je suppose que les deux serveurs sont liés à la même adresse IP, car sinon cette question n'a pas beaucoup de sens (la réponse serait trop simple).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X