Мой вопрос практически идентичен указанному в списке, но они не получили ответа, поскольку в конечном итоге использовали Linux в качестве обратного прокси.
Использование IIS7 в качестве обратного прокси
Мне нужно, чтобы IIS был основным сайтом, а Linux (Apache) был прокси-сайтом (-ами).
так что я
site1.com (IIS7) site2.com (Linux Apache)
у них есть поддомены
sub1.site1.com sub2.site1.com
sub3.site2.com
Я хочу, чтобы весь трафик шел на site1.com, и все, что есть site2.com, должно быть проксировано на Linux-сервер во внутренней сети (верю, что ARR может это сделать, но не знаю, как это сделать).
Я не могу запустить его как Apache, выполняющий проксирование, поскольку мне нужно напрямую открыть IIS.
любой совет был бы отличным.
РЕДАКТИРОВАТЬ
Думаю, это может мне помочь:
<rule name="Canonical Host Name" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^cto\.com$" />
<add input="{HTTP_HOST}" negate="true" pattern="^antoniochagoury\.com$" />
<add input="{HTTP_HOST}" negate="true" pattern="www.antoniochagoury\.com$" />
</conditions>
<action type="Redirect" url="http://www.cto20.com/{R:1}" redirectType="Permanent" />
</rule>
из: http://www.cto20.com/post/Tips-Tricks-3-URL-Rewriting-Rules-Everyone-Should-Use.aspx
Я посмотрю на это, когда у меня будет доступ к ящику IIS7.
Спасибо
Клянусь, на это уже несколько раз ответили.
Чтобы использовать IIS в качестве обратного прокси, необходимо добавить два программного обеспечения: перезапись URL и маршрутизация запросов приложений (ARR). Оба могут быть загружены с Веб-сайт IIS.
Документацию для начала работы можно найти там.
В вашем редактировании упоминается, что HTTP_HOST - это серверная переменная для имени домена. У вас есть пара вариантов. Если сервер Apache открыт для всех, вы можете использовать перенаправление, как и там.
Вам нужна обратная ссылка на URL-адрес, чтобы иметь уникальные привязки для каждого сайта.
Например, добавьте 4-е условие и убедитесь, что оно находится внизу:
(это означает-что-нибудь- -точка- -это что-нибудь (кроме точки) - -дот- -всего (кроме точки) -)
Теперь {C: 1} будет обратной ссылкой на ваш домен 2-го уровня без TLD. то есть site1, site1.
В своем действии вы можете использовать что-то вроде этого:
Затем вы можете создавать привязки в Apache для site1.cto20.com, site2.cto20.com и т. Д.
Другой вариант - настроить ARR и использовать обратный прокси, а не перенаправление. При этом сохраняется исходный URL-адрес, и вашему серверу Apache не требуется общедоступный URL-адрес или IP-адрес. Ваши правила перезаписи могут быть похожими, так что каждый URL-адрес попадет на другой сайт на сервере Apache.