Question

Quelqu'un a-t-il réussi à exécuter deux serveurs Web différents, tels qu'Apache et CherryPy, côte à côte sur la même machine ?J'expérimente actuellement avec d'autres serveurs Web et j'aimerais voir si je peux faire mes expériences tout en gardant mes autres sites opérationnels.On pourrait dire qu’il ne s’agit pas tant d’une question spécifique au logiciel que d’une question générale de réseau.

  • Je sais qu'il est possible d'exécuter deux serveurs Web sur des ports différents ;mais existe-t-il un moyen de les configurer pour qu'ils puissent s'exécuter sur le même port (c'est-à-dire qu'ils fonctionnent tous les deux sur le port 80) ?
  • Les serveurs Web pas servir des fichiers provenant des mêmes domaines.Par exemple, Apache pourrait servir des documents depuis foo.domain.com, et l'autre serveur Web depuis bar.domain.com.

Je sais que ce n'est pas une configuration idéale.J'aimerais juste voir si cela peut être fait avant de courir dans le terrier du lapin.:)

Était-ce utile?

La solution

Vous ne pouvez pas avoir deux processus liés au même port sur la même adresse IP.Vous pouvez ajouter une autre adresse IP à la boîte et faire en sorte que chaque serveur en écoute une.

Une autre option consiste à transmettre par proxy un serveur à l'autre.Avec Apache, vous pourriez faire quelque chose comme :

NameVirtualHost *
<virtualhost *>
  ServerName other.site.com

  # assumes CherryPy listens on port 8080
  ProxyPass / http://127.0.0.1:8080/
  ProxyPassReverse / http://127.0.0.1:8080/
</Virtualhost>

C'est un exemple assez rapide, mais vous pouvez toujours vérifier le Documentation ProxyPass.N'oubliez pas cependant que l'application proxy obtiendra 127.0.0.1 dans ses journaux au lieu de l'adresse IP du demandeur.Certains serveurs web (Apache le fait avec mod_rpaf) peut remplacer l'en-tête X-Forwarded-For à la place de la mauvaise adresse IP.Peut-être que CherryPy a ça ?

Autres conseils

Votre meilleur pari serait de placer Apache httpd devant le port 80 et de relayer les requêtes destinées aux autres serveurs via Apache en utilisant des modules.Le scénario le plus populaire serait Tomcat derrière Apache où vous pourrez exécuter des applications php et jsp.

Je ne connais pas CherryPy, je ne peux donc que vous suggérer de rechercher un module Apache pour CherryPy.

Modifier:Cela semble prometteur : http://tools.cherrypy.org/wiki/BehindApache

Alternativement, à la bonne réponse d'Ishmaeel, si vous disposez d'un serveur avec 2 cartes réseau, vous pouvez demander à chaque serveur de répondre aux demandes sur des adresses IP différentes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top