Programmation.c : relai de connection TCP via apache
Posté par Emeric Verschuur (Jabber id, page perso, ) le 09 mai 2008Bonjour,
Étant comme beaucoup de gens confronté à un blocage de port, je voudrais élaborer une solution dont voici le principe :
Donnée du problème :
* Serveur x en local qui est en écoute d'une connections sur un port y
* Serveur HTTP (apache qui héberge mon sites ainsi que d'autres services)
* Un client z qui ne peux pas se connecter directement au serveur x car le port y est bloqué en sortie par le routeur.
Le mode de communication entre le client z et le serveur x est asynchrone donc le client envoie des données (requêtes) au serveur et vice-versa.
Principe :
Voilà : le souci c'est comment faire passer une session TCP via le port 80 pour finalement être relayer sur le port y...
Ce que je voudrais c'est par exemple :
z commence une session TCP avec apache sur le port 80
z envoie une requête une requête "GET /dossier-redirect/" (On suppose que apache est configuré de telle manière que l'accès au dossier /dossier-redirect/ fait appel à un module ou script CGI nommé s).
s récupère le no de socket (descripteur de fichier) associé à la connexion http avec z
s commence une session TCP avec le serveur x sur le port y
en fin s relaye les données de s vers z et vice-versa jusqu'à ce que z ou s effectue une clôture de session tcp.
voilà, je sais que c'est assez tordu mais ma question c'est : est ce que c'est faisable ? et est ce qu'il y aurait d'autre alternatives.
ps: ce que je voudrais éviter, c'est un proxy http ou tunnel http...
merci d'avance
> Lire le message (5 commentaires, moyenne: 1,4).



Re: SSH
Et avec un httptunnel et un apache en reverse proxy, on peut meme s'amuser à faire en sorte que l'on ait un serveur web classique, mais qu'un des virtual hosts soit la passerelle ssh. Cela évite d'avoir à "bloquer" le port 443 pour sshd.
Ex :
www.domaine.com:443 --> site web legitime
ssh.domaine.com:443 --> le serveur ssh
Petit howto ici : http://dag.wieers.com/howto/ssh-http-tunneling/
[ Répondre ]