Хорошо, я постараюсь объяснить это как можно лучше. мочь. Мне удалось настроить расположение подкаталога / blog /
на блоке сервера example.com
(веб-сайт A), который успешно отображает мой блог на поддомене blog.example .com.au
серверный блок (веб-сайт B) с URL-адресом example.com/blog/
.
Однако, когда я нажимаю любую из ссылок на домашней странице из примера .com / blog /
, он показывает 404 веб-сайта A, когда он должен ссылаться на статью на веб-сайте B.
Желаемое поведение:
example.com/blog/article
ссылается на blog.example.com/article
при отображении example.com/blog/article
Фактическое поведение:
example.com/blog/article
ссылается на example.com/article
при отображении example.com/article
404
Я хочу убедиться, что / blog /
появляется в каждом запросе, который должен быть передан на веб-сайт B через блок местоположения / blog /
.
Вот мой текущий серверный блок для веб-сайта A для обслуживания блога на веб-сайте B :
server {
server_name example.com;
...
location ^~ /blog/ {
proxy_pass https://blog.example.com.au/;
proxy_set_header Host blog.example.com.au;
}
# This is needed to correctly serve static files for Website B and not have same 404 behaviour as explained above
location /assets/ {
proxy_pass https://blog.example.com.au/assets/;
}
# This is needed to correctly serve static files for Website B and not have same 404 behaviour as explained above
location /content/ {
proxy_pass http://blog.example.com.au/content/;
}
}
Если это помогает, веб-сайты A и B имеют обратный прокси-сервер и отлично работают самостоятельно в одном файле conf:
upstream Website_A {
server Website_A:8000;
}
upstream Website_B {
server Website_B:2368;
}
...
Настройте серверную часть с правильным базовым URL-адресом, чтобы он генерировал правильные ссылки.
Поскольку вы используете Ghost для своего блога, опция называется url
.
"url": "https://example.com.au/blog/"
Конечно, было бы разумнее проксировать это напрямую к призраку, а не проксировать дважды.
server {
server_name example.com.au;
# ...
location /blog/ {
proxy_pass http://Website_B:2368;
}
}