2 serveurs sur le même port, 1 adresse ip publique [résolu]
2 serveurs sur le même port, 1 adresse ip publique [résolu] - Windows & Software
MarshPosté le 26-01-2006 à 09:53:06
Bonjour à tous,
Je pense que mon problème est insoluble mais peut-être que quelqu'un aura une alternative.
J'ai serveur linux (debian) sur lequel tourne apache (port 80) et ssh (port 443) qui se trouve derriere un routeur. Depuis mon boulot seules les connexions http (port 80) et les connexions sur le port 443 sont autorisés (c'est pourquoi mon ssh tourne sur le port 443 au lieu de 22). J'ai récement installé flash media server qui utilise par défaut le port 1935 et le protocole rtmp. Evidement impossible de me connecter depuis le boulot. Fms propose aussi le tunneling http et https pour palier a ce genre de probleme, ce qui me conduit à un autre probleme: dans le cas du tunneling if faut utiliser le port 80 ou 443 qui sont déjà utilisés...
J'ai pensé a utiliser une ip secondaire sur mon serveur mais dans ce cas le routeur ne saura pas sur quelle ip forwarded les requetes exterieures provenant du port 80. Si je met mon serveur en DMZ avec 2 ips et 1 serveur écoutant sur le port 80 sur chaque ip, que se passera-t-il? Y a t'il moyen de faire quelque chose avec apache et les Name-based ou IP-based Virtual Hosts ?
------------------------------------------------ Solution --------------------------------------------------- J'ai réussi à faire fonctionner à la fois apache et flash media serveur sur le port 80 de ma machine !
Config de mon réseau:
ip routeur: privée:168.168.1.1 publique:82.xxx.xxx.xxx ip serveur: 192.168.1.110
Pour ceux qui seraient interessé voici ce que j'ai fait: 1) Créer une adresse ip secondaire (ifconfig eth0:1 192.168.111 netmask) Maintenant mon serveur est accessible sur mon réseau local par 2 adresses différentes (192.168.110 et 192.168.111)
2) Assigner l'adresse 192.168.111 et le port 80 au serveur flash Dans fms.ini mettre: ADAPTOR.HOSTPORT = 192.168.111:80
3) Assigner l'adresse 192.168.110 au serveur apache Dans le httpd.conf mettre : BindAddress 192.168.1.110
A ce stade, je peux me connecter à mon serveur flash en faisant du http tunneling en utilisant l'ip privée. Au niveau de mon routeur je ne peux forwarder le port 80 que sur une seule adresse -> problème Heureusement Apache dispose d'un module très utile dans ce cas: mod_proxy J'ai plusieurs nom de domaine virtuels (type dyndns) qui pointe sur mon adresse publique,que je vais utiliser pour differencier les services.
Marsh Posté le 26-01-2006 à 09:53:06
Bonjour à tous,
Je pense que mon problème est insoluble mais peut-être que quelqu'un aura une alternative.
J'ai serveur linux (debian) sur lequel tourne apache (port 80) et ssh (port 443) qui se trouve derriere un routeur.
Depuis mon boulot seules les connexions http (port 80) et les connexions sur le port 443 sont autorisés (c'est pourquoi mon ssh tourne sur le port 443 au lieu de 22).
J'ai récement installé flash media server qui utilise par défaut le port 1935 et le protocole rtmp. Evidement impossible de me connecter depuis le boulot.
Fms propose aussi le tunneling http et https pour palier a ce genre de probleme, ce qui me conduit à un autre probleme: dans le cas du tunneling if faut utiliser le port 80 ou 443 qui sont déjà utilisés...
J'ai pensé a utiliser une ip secondaire sur mon serveur mais dans ce cas le routeur ne saura pas sur quelle ip forwarded les requetes exterieures provenant du port 80. Si je met mon serveur en DMZ avec 2 ips et 1 serveur écoutant sur le port 80 sur chaque ip, que se passera-t-il?
Y a t'il moyen de faire quelque chose avec apache et les Name-based ou IP-based Virtual Hosts ?
------------------------------------------------ Solution ---------------------------------------------------
J'ai réussi à faire fonctionner à la fois apache et flash media serveur sur le port 80 de ma machine !
Config de mon réseau:
ip routeur: privée:168.168.1.1 publique:82.xxx.xxx.xxx
ip serveur: 192.168.1.110
Pour ceux qui seraient interessé voici ce que j'ai fait:
1) Créer une adresse ip secondaire (ifconfig eth0:1 192.168.111 netmask)
Maintenant mon serveur est accessible sur mon réseau local par 2 adresses différentes (192.168.110 et 192.168.111)
2) Assigner l'adresse 192.168.111 et le port 80 au serveur flash
Dans fms.ini mettre:
ADAPTOR.HOSTPORT = 192.168.111:80
3) Assigner l'adresse 192.168.110 au serveur apache
Dans le httpd.conf mettre :
BindAddress 192.168.1.110
A ce stade, je peux me connecter à mon serveur flash en faisant du http tunneling en utilisant l'ip privée.
Au niveau de mon routeur je ne peux forwarder le port 80 que sur une seule adresse -> problème
Heureusement Apache dispose d'un module très utile dans ce cas: mod_proxy
J'ai plusieurs nom de domaine virtuels (type dyndns) qui pointe sur mon adresse publique,que je vais utiliser pour differencier les services.
4) assignation des domaines aux ip
NameVirtualHost 192.168.1.110
<VirtualHost 192.168.1.110:80>
ServerName mondomaine.pour.leweb
DocumentRoot /var/www
</VirtualHost>
<VirtualHost 192.168.1.110:80>
ServerName mondomaine.pour.flash
ProxyPass / http://192.168.1.99/
ProxyPassReverse / http://192.168.1.99/
</VirtualHost>
Avec ca en appellant depuis l'exterieur l'url http://mondomaine.pour.flash c'est flash media server qui me répond
et avec http://mondomaine.pour.leweb c'est Apache !
Message édité par drlobo le 30-01-2006 à 21:32:47