Каноническое имя хоста с URLRewrite 2.0 за балансировщиком нагрузки - PullRequest
0 голосов
/ 17 марта 2011

У меня есть два веб-сервера IIS7 за балансировщиком нагрузки. Модуль URL Rewrite 2.0 установлен на обоих серверах, и к обоим экземплярам применяется следующее правило перезаписи:

<rule name="Enforce canonical hostname" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" negate="true" pattern="^www\.mydomain\.com$" />
    </conditions>
    <action type="Redirect" url="http://www.mydomain.com/{R:1}" redirectType="Permanent" />
</rule>

Когда я пытаюсь перейти на http://mydomain.com,, мой веб-браузер зависает бесконечно. Я подозреваю, что балансировщик нагрузки влияет на работу URL Rewrite, но я не уверен.

Ответы [ 2 ]

2 голосов
/ 31 марта 2011

В итоге мы использовали следующую технику:

http://www.mcanerin.com/en/articles/301-redirect-iis.asp

Ключом было добавить $ S $ Q в конец имени домена.

0 голосов
/ 18 марта 2011

Я предполагаю, что: 1. балансировщик нагрузки перенаправляет ваш запрос на ваши дочерние серверы 2. и когда запрос поступает на дочерние серверы, они перенаправляют запрос в соответствии с вашим правилом перенаправления URL, поэтому ваш запрос перенаправляется и снова включается на балансировщик нагрузки 3... и выполняется та же процедура (шаг 1-2),

, таким образом, ваш запрос повторяется снова и снова, и ваш браузер зависает.

...