چگونه می توان ترافیک را از Http به Https هدایت (Redirect) نمود؟

برای هدایت تمام ترافیک ورودی سایت خود از Http به Https می توانید از دو روش زیر استفاده کنید.

1.استفاده از کد Rewrite:
جهت انتقال ترافیک وب سایت خود از Http به Https با استفاده از کد Rewrite ابتدا طبق راهنمای زیر وارد کنترپنل خود می شوید:
سرویس های 2008 & 2012:
سرویس 2003:
پس از ورود به کنترپنل سرویس خود، وارد بخش File Manager  شوید. در اینجا به شاخه wwwroot وب سایت مورد نظر خود رفته و فایل web.configرا پیدا کنید. سپس بر روی گزینه Edit جلوی این فایل کلیک نمایید:
در پنجره باز شده پس از تگ <system.webserver> کد زیر را وراد نمایید:
 
کد های هدایت ترافیک به آدرس https://yourdomain.com 
    <rewrite>
      <rules>
        <rule name="Redirect to HTTPS" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTPS}" pattern="^OFF$" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
        </rule>
      </rules>
    </rewrite>
 
کد های هدایت ترافیک به https://www.yourdomain.com
<rule name="Force WWW and SSL" enabled="true" stopProcessing="true">
  <match url="(.*)" />
  <conditions logicalGrouping="MatchAny">
      <add input="{HTTP_HOST}" pattern="^[^www]" />
      <add input="{HTTPS}" pattern="off" />
  </conditions>
  <action type="Redirect" url="https://www.yourdomain.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
  • در نظر داشته باشید می بایست به جای عبارت yourdomain.com آدرس دامنه ی خود را وارد کنید.
 
فایل شما می بایست شبیه تصویر زیر باشد:
 
پس از اضافه نمودن کد بر روی گزینه Save کلیک می کنید:
 
2. استفاده از Custom Error :
این روش تنها در سرویس های 2008 و 2012 قابل استفاده است.
راه دوم هدایت ترافیک از Http به Https فعال نمودن گزینه Require SSL بر روی وب سایت مورد نظر و تعریف Custom Error 403.4 و هدایت دریافت کنندگان آن به آدرس Https سایت مورد نظر می باشد.
بدین منظور در ابتدا با استفاده از راهنمای زیر اقدام به برقرار ارتباط ریموت با IIS وب سایت مورد نظر خود می کنید:
نحوه اتصال به IIS هاست جهت مدیریت از راه دور –
 
پس از برقرار ارتباط ریموت با IIS در پنجره Features View بر روی SSL Settings کلیک نمایید.
در صفحه باز شده تیک گزینه Requitr SSL و سپس گزینه Require 128-bit SSL را بزنید.
در انتها بر روی Apply کلیک کنید.
حال درخواست هایی که Http سایت شما ارسال می شود با پیغام خطای 403.4 مواجه خواهند شد. در گام بعدی می بایست Custom Error  برای خطای 403.4 ایجاد کنید. بدین منظور در پنجره اصلی IIS بر روی Error Pages کلیک نمایید.
 
در پنجره جدید باز شده بر روی Add کلیک نمایید.
 
طبق تصویر زیر پنجره باز شده را تکمیل نموده و در انتها بر روی OK کلیک نمایید:
 
Status Code: 403.4
Response with a 302 Redirect: Https://domain.com
 
دقت داشته باشید به جای domain.com  می بایست نام دامنه خود را وارد نمایید.
 
سرویس های لینوکسی :
برای این منظور میبایست کد زیر را در فایل .htaccess قرار دهید 
 
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>