redirection d'un site web vers un autre
Le
---DGI972---

Bonjour,
J'ai un routeur avec une adresse IP fixe qui redirige l'adresse fixe et
le port 80 sur un serveur iis dans un réseau local. L'accés au site web
fonctionne trés bien. Sur ce même réseau local j'ai un autre serveur
iis avec un autre site web qui fonctionne en intranet correctement.
Maintenant, je voudrais rajouter au premier site grace a page
suplémentaire un lien pour acceder au 2 iéme site. Ce nouveau lien va
pointer sur une adresse interne a l'intranet.
Comment peut faire pour que le deuxième site soit vu de
l'extérieur ?
NB: je ne peut pas fusionner les 2 serveurs en 1 seul ?
Cordialement
J'ai un routeur avec une adresse IP fixe qui redirige l'adresse fixe et
le port 80 sur un serveur iis dans un réseau local. L'accés au site web
fonctionne trés bien. Sur ce même réseau local j'ai un autre serveur
iis avec un autre site web qui fonctionne en intranet correctement.
Maintenant, je voudrais rajouter au premier site grace a page
suplémentaire un lien pour acceder au 2 iéme site. Ce nouveau lien va
pointer sur une adresse interne a l'intranet.
Comment peut faire pour que le deuxième site soit vu de
l'extérieur ?
NB: je ne peut pas fusionner les 2 serveurs en 1 seul ?
Cordialement
Pour reprendre votre problème, vous avez deux serveurs web sur un même
réseau privé. Le serveur Web1 et accessible depuis l'extérieur en attaquant
le port 80 de l'adresse IP public du routeur.
Votre serveur est donc configuré pour faire suivre les requêtes HTTP de sa
patte public port 80 vers le serveur Web1.
Si vous souhaitez faire une redirection depuis votre serveur Web1 vers votre
serveur Web2, le serveur Web2 doit également être accessible depuis
l'extérieur, car le client qui se connecte ne peut pas accéder aux machines
de votre réseau local.
Il faudrait pour se faire configurer votre routeur pour forwarder le port 80
vers le serveur Web2, le problème est qu'au niveau du routeur, vous ne
pouvez spécifier qu'une seule destination pour un port. Ce serait donc soit
le server Web1, soit le server Web2.
Pour contourner le problème, il faut utiliser un second port, par exemple
faites une redirection du port 80 du routeur vers le serveur Web1, et une
redirection du port 8080 du routeur vers le server Web2.
Sur une page web de votre serveur Web1, il vous suffira de faire une
redirection sur l'ip de votre routeur en spécifiant le numéro de port, par
exemple IP_ROUTEUR:8080.
Philippe
"---DGI972---" news:
Correction:
"Votre serveur est donc configuré pour faire suivre les requêtes HTTP de sa
patte public port 80 vers le serveur Web1"
il faut lire "Votre routeur..." et pas "Votre serveur..."
Il y a d'autres alternatives à ce que vous proposez (même si c'est cette
solution qui revient tout le temps).
Par exemple installer et configurer un module isapi de type reverse proxy
(http://www.iisproxy.net/, http://www.isapirewrite.com/, etc) sur le serveur
accessible depuis l'exterieur.
Il est également possible d'ajouter un "vrai" reverse proxy comme ISA ou
Squid (non merci pour apache en mode reverse proxy, j'ai donné et le laisse
à d'autres ;-)
Il faut aussi communiquer des nom fqdn (de la forme www.site1.dom et
www.site2.dom) et définir quel sera le contenu visible sur le site visible
de l'exterieur lorsque l'on s'y adresse avec l'IP publique (redirection vers
site1 ou site2 ou page indiquant que l'accès par IP n'est pas pris en
charge, ou...)
Une autre solution un peu "bricolo":
Avec une simple page asp (ou en utilisant les redirections IIS) faire en
sorte que si le serveur accessible sur le port 80 de l'exterieur reçoit en
fqdn celui de site2, IIS retourne une redirection vers le fqdn de site2 en
changeant le port (par exemple 81). Dans le routeur ajouter un port forward
du port 81 vers le port 80 du serveur 2...
Bonjour et merci pour votre réponse.
Il y a une petite chose que j'ai omis de vous expliquer:
Le serveur 1 qui "est vu" de l'extérieur via l'adresse publique n'est
accessible par les utilisateurs du réseau privé qu'en saisissant
l'adresse privé (pour une raison que j'ignore).C'est a dire qq de
l'extérieur du réseau privé qui tape:http://80.xxx.xxx.xxx/ tombe
correctement sur le site qui fonctionne par contre dans le réseau
interne cela ne fonctionne pas il faut saisir l'adresse interne du
réseau http://192.168.0.xxx/
Pour le serveur 2 (c'est en fait un petit heldesk ss prétention mais
qui fonctionne pour mes besoins en interne
http://www.phpjunkyard.com/free-helpdesk-software.php ) qui répond par
un Email que tel ou tel Pb a bien été envoyé et va être traité par qq
sauf que dans l'email il y a un lien http qui permet de consulter son
ticket sur le serveur 2.
J'avais imaginé de mettre le contenu du web du serveur 2 en ligne chez
un fournisseur qqconque sauf que tous les postes en intranet n'ont pas
accés a internet.
Je le sens mal mon histoire ...
Merci j'ai bien note du port 8080.
Normal, la presque totalité des routeurs grand public sont incapables
lorsqu'un NAT de l'ip publique vers une ip privée est fait, d'appliquer ce
NAT si l'ip source est aussi une IP privée...
La solution: attaquer le serveur web par un nom d'hôte, aussi bien de
l'extérieur que de l'interne. En interne, il faut soit créer une zone dans
le Dns LOCAL pour le domaine public et la modifier de manière à ce que
l'hôte accessible normalement via une IP publique pointe vers l'IP privée,
soit par exemple, modifier le fichier hosts de chaque pc en interne devant
accéder au serveur en faisant pointer le nom vers l'IP locale du serveur.
La même manip résoudra le souci du serveur 2
OK pour le fichier host.
Mais la réponse du helpdesk (IIS PHP MySQL) dans son email de retour
pour confirmer la prise en charge d'un ticket aura l'adresse IP du
serveur dans le réseau interne. cet email peut être envoyé a des
personnes de l'intranet mais aussi a des personnes de l'extérieur !
De plus je me demande comment faire pour que le lien de la réponse
comprenne le lien avec le port 8080 dans toute les pages PHP que
comprend le Soft helpdesk.
Merci
Faire le test suivant: créez un ticket en vous adressant directement au
serveur 2 et en utilisant un nom d'hôte (par exemple en mettant
helpdesk.mon.domaine dans le fichier hosts).
Si l'application de helpdesk est codée proprement (à mon sens) le lien http
indiqué dans le mail devrait correspondre au nom d'entête du serveur
(helpdesk.mon.domaine), il est alors facile de faire pointer aussi bien les
clients externes (DNS) que ceux internes (DNS, fichier hosts, etc.) vers la
bonne IP.
Il est aussi possible de relire mon post sur la possibilité d'étendre IIS en
reverse proxy (sur le serveur 1).
Ps: la solution d'externalisation du serveur n'est pas un obstacle pour les
utilisateurs internes n'ayant pas accès à internet, il est toujours possible
de faire une exception en ajoutant une route, une vue DNS spécifique, une
ACL dans un proxy, etc...