2015-08-18 3 views
0

вопрос на две части, на перенаправление HTTP на HTTPSПлюсы и минусы перенаправлять все НТТР HTTPS

Мы только что реализовали Azure веб-сайта с помощью SSL. Некоторые страницы имеют редирект с HTTP на HTTPS в Page_Load, используя:

 if (!Request.IsLocal && !Request.IsSecureConnection) { 
      string redirectUrl = Request.Url.ToString().Replace("http:", "https:"); 
      Response.Redirect(redirectUrl, false); 
      HttpContext.Current.ApplicationInstance.CompleteRequest(); 
     } 

Первая часть - есть ли обратная сторона перенаправляет все страниц HTTPS?

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

<rule name="Redirect to HTTPS"> 
    <match url="(.*)" /> 
    <conditions> 
     <add input="{HTTPS}" pattern="off" ignoreCase="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
    </conditions> 
    <action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="SeeOther" /> 
    </rule> 

Все предложения приветствуются.

С уважением

+0

Может ли кто-то проголосовать, дайте мне знать, почему? Я бы хотел улучшить свое использование SO. – OzDave

ответ

1

По соображениям безопасности вы должны перенаправить все запросы HTTP к HTTPS. Вы должны учиться и использовать HSTS.

Для этого нет недостатков, и это гораздо более безопасно и менее подвержено ошибкам, чем сохранение смешанных точек входа http/https.

Для метода перенаправления, если это 301 (постоянный) перенаправление, используйте самый простой для поддержки/реализации.

Смежные вопросы