Назад | Перейти на главную страницу

Обратный прокси для подкаталога в nginx

Я хочу настроить обратный прокси на моем VPS для моего приложения Heroku (http://lovemaple.heroku.com) Так что если я приеду mysite.com/blog Я могу получить контент в http://lovemaple.heroku.com

Я выполнил инструкции на 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;
    }

Я изменил его, чтобы он соответствовал моей ситуации:

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

Когда я приезжаю mysite.com/blog, страница отображается, но файл js / css не может быть получен (404).
Их ссылка становится mysite.com/style.css но нет mysite.com/blog/style.css.

Что не так и как это исправить?

Вам необходимо исправить ссылки в вашем HTML, nginx не несет ответственности за это за вас. Вы можете настроить их так, чтобы они не зависели от того, в каком каталоге они находятся:

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

(вместо того "/style.css")

Зайдите в базу данных WordPress и обновите siteurl в wp_options к http://lovemaple.heroku.com в порядке.