Odwrotny serwer proxy dla podkatalogu w nginx

12

Chcę skonfigurować odwrotne proxy na moim VPS dla mojej aplikacji Heroku ( http://lovemaple.heroku.com ) Więc jeśli odwiedzę mysite.com/blog, mogę pobrać zawartość z http://lovemaple.heroku.com

Postępowałem zgodnie z instrukcjami na wiki Apache .

    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;
    }

Zmieniłem to, aby dopasować do mojej sytuacji:

    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;
    }

Kiedy odwiedzam mysite.com/blog, strona się wyświetla, ale nie można pobrać pliku js / css (404).
Ich łącze staje się, mysite.com/style.cssale nie jest mysite.com/blog/style.css.

Co jest nie tak i jak mogę to naprawić?

Klon
źródło

Odpowiedzi:

5

Musisz poprawić odniesienia w swoim HTML, nginx nie ponosi odpowiedzialności za wykonanie tego za Ciebie. Możesz ustawić, aby były niezależne od katalogu, w którym znajdują się:

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

(zamiast "/style.css")

Shane Madden
źródło
1

Idź na bazie WordPress, a zmiana siteurlw wp_optionscelu http://lovemaple.heroku.comjest OK.

jxltom
źródło