SSL, как перенаправить ссылку на веб-сайт на версию, включенную в SSL?

#security #ssl #web-config #websecurity

#Безопасность #ssl #web-config #веб-безопасность

Вопрос:

У меня есть небольшой вопрос о SSL. У меня есть веб-сайт, на котором мы приобрели SSL и внесли некоторые изменения в правила в web.config. Но проблема в том, что иногда мы не можем перенаправить на версию https. Когда мы вводим домен с https, он работает отлично, но когда мы удаляем https, мы не можем перенаправить на защищенную версию сайта. Вот наш файл web.config (для конфиденциальности я повесил имя нашего сайта как example.com );

  <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.webServer>
        <rewrite>
          <rules>
                <rule name="Redirect to www" enabled="false" stopProcessing="true">
                      <match url="(.*)" />
                      <conditions trackAllCaptures="false">
                        <add input="{HTTP_HOST}" pattern="^example.COM$" />
                      </conditions>
                      <action type="Redirect" url="{MapProtocol:{HTTPS}}://www.example.com/{R:1}" />
                 </rule>
            <rule name="AngularJS Routes" enabled="true" stopProcessing="true">
              <match url=".*" />
              <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />   
              </conditions>
              <action type="Rewrite" url="/" logRewrittenUrl="false" />
            </rule>
                <rule name="Redirect HTTP to HTTPS" enabled="false" stopProcessing="true">
                     <match url="(.*)" />
                     <conditions>
                     <add input="{HTTPS}" pattern="^OFF$" />
                     </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{HTTP_URL}" appendQueryString="false" redirectType="SeeOther" />
               </rule>

                      <rule name="Force non-WWW and SSL" enabled="true" stopProcessing="true">
                          <match url="(.*)" negate="true" />
                          <conditions logicalGrouping="MatchAny">
                        <add input="{HTTP_HOST}" pattern="^(www.)(.*)$" />
                        <add input="{HTTPS}" pattern="off" />
                          </conditions>
                          <action type="Redirect" url="https://example.com/{R:0}" appendQueryString="true" redirectType="Permanent" />
                     </rule>

          </rules>
        </rewrite>
      </system.webServer>
    </configuration>
  

Что мы можем сделать еще, чтобы быть уверенными, что каждый раз мы будем перенаправлять ссылку на защищенную версию (https) ссылки?

Ответ №1:

Вы использовали один из этих Apache, IIS, Tomcat, Nginx? Вы должны настроить перенаправление http на https.

Комментарии:

1. спасибо за ответ. Мы используем IIS. Но как мы можем перенаправить на https с https?

2. Попробуйте скопировать это:<правила><имя правила =’Перенаправление с HTTP на HTTPS’ sotpProcessing=’ture’><соответствующий URL='(.*)’/>< условия><добавить ввод='{HTTPS}’ шаблон=’выкл.’ Игнорирование=’истина’/></условия><тип действия =’Перенаправление’ redirectType=’Найдено’ url=’https: //{HTTP_HOST}/{R:1}’ /></правило></правила>