Comment configurer un proxy dans .htaccess
La documentation d'Apache membres de cette règle de réécriture et de la devrait être mis dans la configuration du serveur, mais ils peuvent être mis dans le htaccess en raison de l'hébergement mutualisé situations. Je suis dans une telle situation.
Je suis en train de mettre en place un proxy transparent:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/foo [OR]
RewriteCond %{REQUEST_URI} ^/bar
RewriteRule ^(.*)$ http://example.com/$1 [P]
Cela fonctionne bien...sauf pour les redirections (comme si /foo
redirige vers /bar
). Redirige revenir à example.com, pas mon serveur.
Je comprends la ProxyPassReverse
directive permettra de résoudre ce problème, mais j'ai une "Erreur Interne du Serveur" à la page quand je l'ajouter à .htaccess
Contrairement à la Réécriture des directives, ProxyPassReverse
ne fonctionnera pas dans le htaccess.
Comment puis-je configurer un proxy transparent dans d'hébergement partagé de la situation, ou n'est-ce pas possible?
(Ce qui semble raisonnable, étant donné que la Réécriture déjà de 80% du chemin, et d'avoir un proxy transparent dans un htaccess ne nuisent pas à l'avoir dans un autre.)
RewriteRule ^(foo|bar)/?$ http://example.com/$1 [P,L]
C'est la même chose que ce que j'ai écrit, sauf pour les
L
drapeau, lequel indique simplement que plus de règles doivent être testés.OriginalL'auteur Paul Draper | 2013-10-06
Vous devez vous connecter pour publier un commentaire.
Malheureusement, je suis assez sûr de ce que vous voulez faire n'est pas possible: je suis en train de faire exactement la même chose! D'après mes recherches, je suis assez confiant, il n'est pas possible.
Mis simplement, vous devez utiliser la directive ProxyPassReverse, qui est seulement disponible à un VirtualHost niveau (ou similaire); pas un htaccess.
Edit: le seul moyen que j'ai réalisé c'est aussi par la configuration de la réponse du serveur/de l'application pour savoir qu'elle est derrière un proxy, et de servir les pages de manière appropriée. C'est, je l'utilise .htaccess pour rediriger vers un autre serveur comme suit:
Alors sur le serveur de l'application, dans ce cas, un JIRA l'installation, j'ai configuré le Java Tomcat/Catalina de manière appropriée pour servir des pages avec le proxy de l'information:
Cependant, ce n'est pas complètement transparent; le serveur d'application doit servir les pages d'un proxy. Il pourrait être de quelque utilité, si.
Merci cela fonctionne parfaitement.
pour vous, c'était un cas de simple config de JIRA. Comment configurer aucun serveur web de servir les pages avec le proxy de l'information ? Ce n'
proxied information
veux dire ?par "proxy" informations ici, je veux dire que le serveur web est conscient de l'adresse est-il réellement accessible. Cela signifie qu'il peut envoyer des données au client avec l'adresse correcte et/ou les ports que le client s'attend à y accéder. (Dans mon exemple ci-dessus, le TABLEAU de serveur écoute sur le port 8080; toutefois, les clients ont accès sur le port 80. La règle de réécriture Apache gère les demandes de 80 -> 8080, mais le JIRA serveur a besoin de savoir que les demandes qu'elle va avoir (et les réponses qu'il fait) sont effectivement traitées par ailleurs.) Mettre tout simplement? Vous ne pouvez pas le faire de manière transparente.
Merci ça marche bien pour moi dans une commune d'accueil de l'environnement.
OriginalL'auteur Michael Sallaway