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

Обратный путь прокси-сервера Nginx в родительском домене с другого сервера

В настоящее время у меня есть веб-серверы для веб-приложения, размещенного на AWS, и я планирую запустить блог для веб-приложения, которое я планирую разместить на сервере DigitalOcean (Nginx) из-за простоты обслуживания и прямой интеграции с Ghost CMS, которую я буду использовать в качестве CMS своего блога. Я знаю, что с помощью записей DNS легко и просто указать субдомен на каплю DigitalOcean для обслуживания блога из чего-то вроде blog.example.com, но я пытаюсь получить доступ к блогу из подкаталога в родительском домене (www.example.com/blog).

Могу ли я получить доступ к этому подкаталогу, настроив реверсивный прокси на сервере Nginx? Есть ли другой способ организовать эту связь между двумя серверами?

Пример:

Пользователь переходит к www.example.com (Сервер AWS загружает страницу)

Пользователь переходит к www.example.com/blog/new-post (Страница загрузки сервера DigitalOcean)

Это довольно просто, вы просто создаете запись A для www.example.com который возвращает IP-адрес вашего сервера DigitalOcean. Затем вы размещаете сайт / blog на NginX, работающем на этом сервере. Затем вы создаете еще одну запись A для второго веб-сервера AWS, например, «webhost1.example.com» (эта вторая запись DNS не требуется, но это проверенный способ сделать это и упрощает, если вы когда-нибудь захотите переместить ее. сервер и его IP-адрес), и вы настраиваете NginX примерно так:

server {
  listen 80;
  listen [::]:80;

  server_name example.com;

  location / {
      proxy_pass http://webhost1.exmaple.com/;
  }
  location /blog/ {
      [your normal location config here]
  }
}

Обратите внимание, что это не тестировалось, поэтому могут быть некоторые синтаксические ошибки и т. Д. Следует отметить строку proxy_pass. Это говорит NginX передать запрос через прокси на другой сервер. Вы также можете использовать этот проходящий трафик для служб, работающих на других портах на том же хосте и т. Д.

Подробнее о обратном прокси NginX https://www.linode.com/docs/web-servers/nginx/use-nginx-reverse-proxy/