Ich habe eine Heroku-App mit Nginx um Reverse-Proxy zu einem anderen Heroku-App, die Wordpress läuft.Force Heroku-basierte Wordpress auf Port 80 mit Nginx auf Heroku
Nginx Buildpack: https://github.com/ryandotsmith/nginx-buildpack Wordpress Heroku Vorlage Ausgangspunkt: https://github.com/xyu/heroku-wp
Hier ist die Nginx Konfiguration für den Server und Reverse-Proxy:
server {
listen <%= ENV["PORT"] %>;
server_name _;
keepalive_timeout 15;
location/{
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server;
}
location /locations/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host [wordpress-app].herokuapp.com;
proxy_pass http://[wordpress-app].herokuapp.com/locations/;
proxy_redirect default;
}
}
Das Reverse-Proxy funktioniert in den meisten Fällen, außer wenn Worpdress tut eine Weiterleitung.
Wenn ich [rails_app].herokuapp.com/locations/location1
besuche, versucht es, Proxy [wordpress_app].herokuapp.com/locations/location1
umzukehren. Wordpress leitet diese URL jedoch an [wordpress_app].herokuapp.com/locations/location1/
um (fügen Sie ein abschließendes '/' hinzu). Wenn Wordpress weiterleitet, versucht Nginx, zu [rails_app].herokuapp.com:[portnumber]/locations/location1
umzuleiten, wo die Portnummer der Dyno-Port ist. In dieser Situation möchte ich nicht, dass der Port in die URL eingefügt wird, weil er eine ungültige Adresse erstellt.
Ich glaube, dass das Problem durch die Änderung der Nginx-Konfiguration gelöst werden kann, aber ich hatte noch keinen Erfolg.
nicht auf meinem Heroku arbeiten :( – moohkooh
@moohkooh Können Sie Ihre ganze nginx Datei schreiben – adibble
habe ich eine neue Ausgabe https://stackoverflow.com/questions/44586218/heroku-nginx- Auf-Port-80 – moohkooh