Перенаправление IP: 2 приложения, 2 сервера с IP, но веб-сайт на одном IP - PullRequest
0 голосов
/ 11 июня 2018

У меня есть три приложения:

  • «приложение_1», работающее на сервере 1 (IP1, с Apache2 в Debian 9)
  • «приложение_2», работающее на сервере 2 (IP2,с Apache2 на Debian 9)
  • «app_2_api», работающий на сервере 2 (IP2, с Apache2 на Debian 9)

Я могу получить доступ к app_1 следующим образом: http://IP1.

Но чтобы получить доступ к app_2 и app_2_api, я не могу перейти на что-то вроде этого: http://IP1 или http://IP1:3000/app_2_api, и т. Д. (Я могу получить доступ через сервер 2 с IP2 и ssh).Мне нужно перейти на http://IP1/app_2 и http://IP1/app_2_api.

Как это возможно?Мне нужно воспроизвести это, но я не знаю как.Любой намек?

1 Ответ

0 голосов
/ 12 июня 2018

Итак, домен1 == IP1, домен2 == IP2, домен2_API == IP2

Убедитесь, что http://IP1 отвечает, а http://IP2 и http://IP2_API отвечают правильно,Если у вас есть это:

  • Настройте Apache на сервере server1, VirtualHost IP1: 80 с прокси-сервером для IP2-сайта, используя mod_proxy.
  • Поскольку вы хотите указать путиэто легко настроить конфигурацию обратного прокси.

    ProxyPass "/app_2" "http://IP2"
    ProxyPassReverse "/site2" "http://IP2"
    
    ProxyPass "/app_2_api" "http://IP2/api"
    ProxyPassReverse "/site2_api" "http://IP2/api"
    

Очевидно, что это не полная конфигурация, но она позаботится о прокси-части внутри вашего VirtualHost.Одна из приятных особенностей этой конфигурации - ваши клиенты никогда не увидят IP2 в своей адресной строке, поэтому будет выглядеть так, как будто весь трафик является частью сайта IP1.

Полная ссылка для mod_proxy: https://httpd.apache.org/docs/2.4/mod/mod_proxy.html

Как только это будет сделано, обратите внимание на настройку доменных имен вместо доступа к сайтам по IP-адресу ...

...