Back to Top


1398/06/02 - 00:12

Redirect یا تغییر مسیر http به https در IIS

بعد از اینکه مجوز SSL روی وب سایت شما نصب شد، سایت شما هنوز هم از طریق اتصال HTTP غیر امن در دسترس می باشد. برای اتصال امن، کاربران باید پیشوند https:// را دستی در آدرس بار مرورگر وارد کنند.

کلمات کلیدی

httphttpsاتصال امنredirectریدایرکت

Redirect یا تغییر مسیر http به https در IIS

راه اندازی یک تغییر مسیر یا ریدایرکت HTTP/HTTPS در IIS

برای اینکه بازدیدکنندگان را مجبور کنیم تا به طور خودکار به اتصال امن وب سایت شما وصل شوند، لازم است یک قانون تغییر مسیر HTTP/HTTPS معین راه اندازی کنیم. در این روش، هرکسی که با استفاده از یک لینک مثل bshafiei.ir وارد سایت شما می شود به طور خودکار به https://bshafiei.ir یا https://www.bshafiei.ir تغییر مسیر داده میشود (واسبته به انتخاب شما) و این کار ترافیک انتقالی بین کلاینت و سرور را رمزگزاری می کند.

در زیر مراحل لازم برای راه اندازی تغییر مسیر HTTPS در IIS آموزش داده شده است:

  1. دانلود و نصب ماژول URL Rewrite

باز کردن کنسول IIS Manager و انتخاب وب سایتی که می خواهید تغییر مسیر را به آن اعمال کنید:

  1. روی آیکن URL Rewrite دوبار کلیک کنید
  2. در منوی سمت راست روی Add Rule(s) کلیک کنید
  3. Blank Rule در بخش Inbound انتخاب کنید و روی Ok کلیک کنید

  1. هر نامی که دوست دارید وارد کنید
  2. در بخش Match URL:
    1. Matches The Pattern را در منوی کشویی Requested URL انتخاب کنید
    2. Regular Expressions را در منوی کشویی Using انتخاب کنید
    3. الگوی مقابل را در بخش Match URL وارد کنید: (.*)
    4. تیک ignore case را بزنید

  1. در بخش Conditions از منوی کشویی Logical Grouping گزینه Match all را انتخاب کنید و سپس روی Add کلیک کنید.
  2. در پنجره ای که باز می شود:
    1. به عنوان ورودی شرط {HTTPS} را وارد کنید
    2. از منوی کشویی Matches the Pattern را انتخاب کنید
    3. برای الگو ^OFF$ را وارد کنید.
    4. روی OK کلیک کنید.

  1. در بخش Action گزینه Redirect را به عنوان نوع اکشن انتخاب کنید و برای Redirect URL مقدار مقابل زیر را وارد کنید:

https://{HTTP_HOST}{REQUEST_URI}

  1. تیک Append query string را بگذارید

نکته: 4 نوعی که می توانید برای Redirect type انتخاب کنید:

گزینه 2: Redirect Rule را به صورت https://{HTTP_HOST}/{R:1}  می گذارد و گزینه Append query string را نیز انتخاب می کند. Action Type همچنان Redirect می باشد.

تغییر مسیر IIS می تواند با دسترسی به http://bshafiei.ir وب سایت در URL تست شود. برای این که مطمئن شوید که مرورگر شما نسخه کش شده از سایت شما را نشان نمی دهد بهتر است از حالت ناشناس مروگر استفاده کنید.

قانون ایجاد شده در IIS اما سایت هنوز به HTTPS تغییر مسیر نمی دهد:

معمولا، قانون تغییر مسیر، در فایل web.config که در پوشه root سند سایت شما قرار دارد نوشته می شود. اگر تغییر مسیر به دلیل خاصی عمل نکرد، مطمئن شوید که web.config وجود دارد و چک کنید حاوی قانون مناسب می باشد.

برای این کار، مراحل زیر را دنبال کنید:

  1. در فهرست سایت ها در IIS، روی سایت خود کلیک راست کنید و گزینه Explore را انتخاب کنید:

  1. پوشه root سایت باز می شود. Web.config را باز کنید.
  2. این فایل باید حاوی قطعه کد زیر باشد:

<configuration>
 <system.webServer>
 <rewrite>
 <rules>
 <rule name="HTTPS force" enabled="true" stopProcessing="true">
 <match url="(.*)" />
 <conditions>
 <add input="{HTTPS}" pattern="^OFF$" />
 </conditions>
 <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
 </rule>
 </rules>
 </rewrite>
 </system.webServer>
</configuration>

  1. اگر فایل web.config حاوی این قطعه کد نبود، شما می توانید این قطعه کد را دستی وارد کنید.