IIS10 в Windows-Server-2016 (AWS) не может перенаправить HTTP-запрос на HTTPS - PullRequest
0 голосов
/ 27 мая 2019

IIS-10 в windows-server-2016 не может перенаправить HTTP-запрос на HTTPS.

Я перепробовал почти все конфигурации, которые доступны через Интернет, но все еще не увенчались успехом.

Примечание : Мой сервер также получит URL подкаталога и несколько примеров, например:

http://abctest.com/subfolder_1

http://abctest.com/subfolder_2

http://abctest.com

и т.д.

Может быть N подпапок.), Но IIS-10 не может перенаправить запрос Http на Https.

Ниже приведена конфигурация в графическом интерфейсе IIS-10, а также в файле web.config:

enter image description here enter image description here enter image description here

Ответы [ 2 ]

0 голосов
/ 31 мая 2019
    <rewrite>
        <rules>
            <rule name="http -> https" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
                <match url="*" />
                <conditions trackAllCaptures="true">
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Temporary" />
            </rule>
        </rules>
    </rewrite>

Вот рабочая версия, которую я использую для этого в производственной среде.Работает для любой привязки, которая связана с сайтом, а также с подпапками.Если вам не нравится XML, вот скриншот того, как он выглядит.И потом, единственное, что поймало меня раз или два, - убедитесь, что у вас есть привязка http и https к URL, который вы хотите перенаправить.

url rewrite 1

url rewrite 2

0 голосов
/ 27 мая 2019

Вы можете использовать приведенное ниже правило перезаписи URL, чтобы перенаправить URL с подпапкой на https:

<rule name="http to https" stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" />
            </rule>

enter image description here

, а также связать сертификат на сайтесвязывание.если у вас нет зарегистрированного сертификата, вы можете связать самозаверяющий сертификат.

Сначала вам нужно создать самозаверяющий сертификат с помощью следующей команды Powershell:

New-SelfSignedCertificate -DnsName www.test.com -CertStoreLocation cert:Localmachine\My

и связатьэтот сертификат с сайта IIS:

enter image description here

enter image description here

С уважением, Jalpa

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...