Reverse-Proxy für ein Unterverzeichnis in Nginx

12

Ich möchte auf meinem VPS einen Reverse-Proxy für meine Heroku-App einrichten ( http://lovemaple.heroku.com ). Wenn ich also besuche, mysite.com/blogkann ich den Inhalt auf http://lovemaple.heroku.com abrufen

Ich habe die Anweisungen im Apache-Wiki befolgt .

    location /couchdb {
        rewrite /couchdb/(.*) /$1 break;
        proxy_pass http://localhost:5984;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

Ich habe es geändert, um es meiner Situation anzupassen:

    location /blog {
        rewrite /blog/(.*) /$1 break;
        proxy_pass http://lovemaple.heroku.com;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

Wenn ich besuche mysite.com/blog, wird die Seite angezeigt, aber die js / css-Datei kann nicht abgerufen werden (404).
Ihre Verbindung wird mysite.com/style.cssaber nicht mysite.com/blog/style.css.

Was ist los und wie kann ich das beheben?

Ahorn
quelle

Antworten:

5

Sie müssen die Verweise in Ihrem HTML korrigieren, nginx ist nicht dafür verantwortlich, dies für Sie zu tun. Sie können festlegen, dass sie unabhängig von dem Verzeichnis sind, in dem sie sich befinden:

<link rel="stylesheet" type="text/css" href="style.css">

(anstelle von "/style.css")

Shane Madden
quelle
1

Gehen Sie zu Ihrem Wordpress - Datenbank und Update siteurlin wp_optionszu http://lovemaple.heroku.comist OK.

jxltom
quelle