Переписать URL iis 7 - https://www.somewhere.com -> https://somewhere.com - PullRequest
0 голосов
/ 07 февраля 2012

Я пытаюсь перенаправить свой сайт из WWW -> root.

http://www.example.com -> http://example.com https://www.example.com -> https://example.com

Я использовал следующие правила переписывания:

<rule name="CanonicalHostNameHttp" stopProcessing="true">
<match url="(.*)" />  
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^example\.com$" negate="true" />
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="http://example.com/{R:1}" />
</rule>

<rule name="Redirect to HTTPS" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>

Это отлично работает:

Сбой:

  • Я ввожу https://www.example.com
  • Он никогда не перенаправляет на https://example.com
  • И в результате он выдает ошибку сертификата (потому что мой сертификат, например, example.com, а не www.example.com)

Чего мне не хватает ???

1 Ответ

1 голос
/ 07 февраля 2012

Как насчет покупки дешевого сертификата для www.example.com, как упомянуто здесь ... недействительный сертификат безопасности и доменные имена ..., а затем установить правило для перенаправления https://www.example.com-> https://example.com?

У меня сейчас похожая проблема.Проблема в том, что я не могу установить второй сертификат, потому что Amazon EC2 ограничивает вас одним публичным IP-адресом на экземпляр, а IP-адрес может быть привязан только к одному сертификату.Единственный вариант, о котором я могу подумать, - это изменить DNS моего неканонизированного домена так, чтобы он указывал на другой сервер, установить второй сертификат и затем перенаправить его на мой экземпляр EC2.

...