Apache proxy_http перенаправляет к имени хоста набора и IP

Я еще не испытал это, но я был планированием использования LVS в Виртуальном частном облаке. Можно создать частную подсеть с этой функцией Amazon и поместить все виртуальные машины на ту же подсеть. Я не уверен, работал ли DR LVS (Amazon не могли бы понравиться реальные серверы, имитирующие назад клиенту с IP подсистемы балансировки нагрузки), но NAT LVS (masq) имеет хороший шанс работы.

Мое самое большое беспокойство будет добавленная задержка, потому что подсеть Виртуального частного облака могла бы добавить еще больше транзитных участков, чем нормальный. Этого избежали бы с Nginx.

Я действительно успешно устанавливал NAT LVS (masq) в сочетании с openVPN для создавания видимости частной сети единственной подсети, но это не работало хорошо.

Если Вам удается дать этому выстрел, прежде чем я сделаю, я хотел бы услышать Ваш результат.

16
задан 25 November 2013 в 14:25
3 ответа

Возможно, вы могли бы использовать mod_headers вместе с mod_proxy. Я не тестировал его.

Итак, для vhost вашего app-dev вы могли бы иметь:

RequestHeader set Host "app.internal.domain"

, а затем добавить:

ProxyPreserveHost On
33
ответ дан 2 December 2019 в 20:34

Уродливое решение - используйте (скорее: злоупотребляйте) / etc / hosts, чтобы указать app.internal.domain на localhost, а затем настройте Apache для прослушивания двух дополнительных портов, по одному для каждого вашего приложения и app-dev. Итак, дважды выполните обратный прокси-сервер:

Listen 80
Listen 127.0.0.1:8001
Listen 127.0.0.1:8001

<VirtualHost *:80>
   ServerName app.proxy.domain
   ProxyPass / http://app.internal.domain:8001
</VirtualHost>
<VirtualHost *:80>
   ServerName app-dev.proxy.domain
   ProxyPass / http://app.internal.domain:8002
</VirtualHost>
<VirtualHost 127.0.0.1:8001>
   ServerName app.internal.domain
   ProxyPreserveHost On
   ProxyPass / http://10.0.1.1/
</VirtualHost>
<VirtualHost 127.0.0.1:8002>
   ServerName app.internal.domain
   ProxyPreserveHost On
   ProxyPass / http://10.0.1.2/
</VirtualHost>
3
ответ дан 2 December 2019 в 20:34

Add to reverse proxy's config (foe app-dev.proxy..):

RequestHeader edit Host ^app-dev.proxy.domain app.proxy.domain

You have to enable mod_headers beforehand:

a2enmod headers

Internal server 10.0.1.2 should has

ServerName app.proxy.domain
2
ответ дан 2 December 2019 в 20:34

Теги

Похожие вопросы