J'ai un Nginx
serveur fonctionnant sur un 80
port qui fonctionne comme un proxy et Apache 2.2
qui écoute127.0.0.1:8080
Lorsque j'y accède, http://hostname/subfolder/
cela fonctionne très bien.
Lorsque j'y accède, http://hostname/subfolder
il me redirige vers http://hostname:8080/subfolder/
ce qui ne va pas.
Pour autant que je vois la mauvaise redirection est retournée par Apache mais UseCanonicalName
et UseCanonicalPhysicalProxy
sont toutes les deux définies surOff
Des idées sur la façon de résoudre ce problème?
apache-2.2
nginx
quark
la source
la source
Réponses:
J'ai également rencontré cela, et j'ai pu le corriger avec une directive proxy_redirect juste après ma directive proxy_pass dans ma configuration nginx:
Ceci est ma configuration nginx complète (dans mon cas, Apache est sur le port 81 et héberge deux sites. J'ai ajouté deux lignes proxy_redirect spécifiques au site parce que je ne sais pas comment ajouter une seule générique.)
Remarque: c'était pour une version pré-1.0 de nginx il y a 5+ ans. Voici les documents pour proxy_redirect pour la version actuelle: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect
la source
Si votre directive ServerName sur Apache est définie sur "hostname: 8080", supprimez ": 8080" ou remplacez-la par "hostname: 80". Vous pouvez également ajouter "proxy_set_header Host $ host: 80"
la source
J'ai eu ce problème il y a longtemps .. Comme je me souviens, cela avait à voir avec le HTTP RFC, une barre oblique à la fin désigne un répertoire (/ test /), aucune barre oblique à la fin c'est un fichier (/ test)
Pour faire court, ajoutez une règle de réécriture qui ajoutera une barre oblique à la demande, s'il n'y en a pas.
regardez Résolu: problème de barre oblique de fin avec le serveur Nginx
HTP
la source
J'ai rencontré ce problème exactement récemment. Alors que les solutions suggérées fonctionneront, Nginx propose une solution intégrée:
Documentation à http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_redirect
Voici un exemple complet de la façon de l'utiliser:
la source
Peut-être que nginx ne définit pas les en-têtes de proxy pour indiquer à apache à quoi ressemblait la demande d'origine.
En nginx:
Voir http://wiki.nginx.org/LikeApache
la source