Réécriture Apache ou un proxy
J'ai un serveur Apache en cours d'exécution sur ma machine (port 80)
J'ai un Zope serveur qui tourne sur ma machine (port 8080)
je veux tous les utilisateurs, quel que soit le domaine (permet l'utilisation www.example.com pour l'instant) être poussé à l'instance zope, de façon transparente
IE
si je tape dans mon navigateur
http://www.example.com/mysite
il affichera les effets de
http://www.example.com:8080/mysite
MAIS
je veux que l'URL de toujours dire
http://www.example.com/mysite
(sous-)domaine devrait être indépendamment, comme nous l'avons 2 ou 3 domaines pointant vers le même serveur
je suis censé être à la recherche à mod_rewrite ou mod_proxy?
J'ai le mod_rewrite demi de travail,l mais elle change ce qui est dans le navigateur?
en train d'essayer
RewriteEngine on
RewriteRule ^($|/.*) http://localhost:8080/$1 [P]
mais l'obtention du serveur de 500
Connexion à l'aide de "http://localhost/mysite"
OriginalL'auteur DrogoNevets | 2012-08-13
Vous devez vous connecter pour publier un commentaire.
Zope prend en charge votre scénario out-of-the-box avec certains de réécriture, à l'aide d'un
VirtualHostMonster
drapeaux dans le chemin d'accès. Cela garantit que toutes les Url générées par Zope (et, par extension, Plone) sont corrects pour les requêtes mandatées.Vous devez utiliser les deux
mod_rewrite
etmod_proxy
, qu'ils vont travailler de concert.Pour faire la création du droit de réécrire des Url plus facile, quelqu'un a construit une excellente RewriteRule Sorcière. Brancher votre exemple précis sorties:
Ainsi, pour n'importe quel Url de la racine
http://www.example.com/mysite
, la réécriture de ces à partir du serveur en cours d'exécution sur localhost port 8080, faire en sorte que Zope génère des Url avec la même racine.Voir le une documentation détaillée sur les VirtualHostMonster fonctionnalité sur le Zope wiki pour plus de détails.
Brillant! Je ne connaissais pas cette règle de réécriture de la Sorcière
firefly fan? 😉
OriginalL'auteur Martijn Pieters
Vous pouvez utiliser
mod_rewrite
avec unP
(proxy) de la règle oumod_proxy
à faire ce que vous voulez. À l'aide demod_rewrite
votre configuration devrait ressembler à quelque chose comme ceci:À l'aide de
mod_proxy
, votre config devrait ressembler à ceci:La fois à atteindre approximativement la même chose. À l'aide d'un
Location
bloc avecProxyPass
facilite l'application d'autres directives de configuration de ce chemin d'accès sur le serveur frontal.Mettre votre configuration dans la question, à la fois pour le frontend et tout ce qui est à l'écoute sur le port 8080.
fait du mieux que je peux
Apache docs vous recommandons d'utiliser la directive ProxyPass: httpd.apache.org/docs/2.4/rewrite/avoid.html
OriginalL'auteur larsks