У меня есть два домена, один сокращен и используется при отправке текстовых сообщений со строкой запроса, потому что обычный домен слишком длинный.В настоящее время веб-страница с другим IP-адресом перенаправляет короткий домен на длинный, либо на конкретную страницу, если у нее правильная строка запроса, либо на домашнюю страницу, если ее нет.Я переезжаю в Azure, где у меня будет только один IP-адрес.Поэтому я подумал, что IIS URL Rewrite сможет справиться с этой задачей.Длинный домен - это сайт только для HTTPS, и для него есть правило HTTPS.Короткого домена нет;ссылки всегда только HTTP.Я настроил URL Rewrite для перенаправления до того, как для обоих правил будет установлено правило HTTPS, а stopProcessing = "true".Но когда я захожу на http://mytxt.net,, в браузере появляется предупреждение о том, что сертификат SSL недействителен.
Сервер - Windows Server 2016 IIS 10. Я специально искал в Google и Stack Oveflow, но не нашел ничего, что соответствовало бы моей проблеме.Ниже приведен код.
<rule name="Txt QS Redirect" stopProcessing="true">
<match url="^(www\.)?mytxt\.net"/>
<conditions>
<add input="{QUERY_STRING}" pattern="^MyQS"/>
</conditions>
<action type="Redirect" url="https://www.myfullsite.net/respond.aspx" appendQueryString="true" redirectType="Temporary"/>
</rule>
<rule name="Txt No QS Redirect" stopProcessing="true">
<match url="^(www\.)?mytxt\.net"/>
<conditions trackAllCaptures="false">
<add input="{QUERY_STRING}" pattern="^MyQS" negate="true"/>
</conditions>
<action type="Redirect" url="https://www.myfullsite.net/" redirectType="Permanent"/>
</rule>
<rule name="HTTPS Redirect">
<match url="(.*)"/>
<conditions>
<add input="{HTTPS}" pattern="^OFF$"/>
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent"/>
</rule>
Разве сначала не должно произойти перенаправление, а затем изменение протокола на HTTPS?Или браузеры сначала проверяют SSL, а когда IIS сообщает, что он включен, выполняет изменение протокола на клиенте?