Перенаправление IIS 8 в HTTPS на основе URL-адреса - PullRequest
0 голосов
/ 02 сентября 2018

Предположим, что IP-адрес моего сервера был: http://192.168.1.100 (без SSL)
И мое доменное имя было: https://helloserver.com (SSL)

Если кто-то должен был получить доступ к моему веб-сайту через домен helloserver.com, сервер должен автоматически перенаправить его на HTTPS. Мне удалось это сделать, применив приведенное ниже правило

<rewrite>
<rules>
  <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
    <match url="(.*)" /> 
        <conditions> 
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
       </conditions> 
       <action type="Redirect" redirectType="Permanent" 
              url="https://{HTTP_HOST}/{R:1}" />
 </rule>   

Однако, если кто-то заходит на веб-сайт с самого IP-адреса, он выдаст ошибку сертификата, поскольку IP-адрес не имеет сертификата.

Как я могу изменить приведенное ниже правило, чтобы при доступе к веб-сайту IP-адрес использовал HTTP вместо перенаправленного правила HTTPS

Полагаю, это как-то связано с <match url="" /> условием.

Есть идеи?

1 Ответ

0 голосов
/ 02 сентября 2018
  <rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
    <match url="(.*)" /> 
        <conditions> 
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
            <add input="{HTTP_HOST}" pattern="^helloserver.com$" />
       </conditions> 
       <action type="Redirect" redirectType="Permanent" 
              url="https://{HTTP_HOST}/{R:1}" />
 </rule> 
...