IIS 7 Membutuhkan SSL secara otomatis redirect ke https: //

26

Saya sudah mengkonfigurasi IIS 7 untuk meminta SSL. Saya ingin tahu apakah saya dapat secara otomatis mengalihkan permintaan non-ssl untuk dienkripsi.

Misalnya, jika pengguna mengetik http://domain.com, bisakah IIS mengarahkan permintaan https://domain.comdaripada menampilkan halaman kesalahan 403?

jickson
sumber

Jawaban:

27

Ada beberapa cara Anda dapat melakukan ini tetapi jika Anda memiliki Modul Penulisan Ulang URL yang diinstal, itu cukup mudah dan cara yang baik untuk melakukannya.

Anda dapat menempelkan konfigurasi di bawah ini ke file web.config situs Anda (terlampir pada <system.webServer></system.webServer>bagian)

<configuration>
<system.webServer>
<rewrite>  
  <rules> 
   <rule name="https redirect">      
      <match url="(.*)" ignoreCase="false" />     
         <conditions>        
            <add input="{HTTPS}" pattern="off" ignoreCase="false" />      
         </conditions>      
      <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}{REQUEST_URI}" />    
   </rule>  
  </rules>
</rewrite>
</system.webServer>
</configuration>

ATAU Anda dapat menggunakan UI IIS untuk membuat aturan baru seperti pada tangkapan layar di bawah ini.

Cuplikan layar aturan penulisan ulang IIS untuk mengarahkan ulang lalu lintas http ke https.

Scott Obert
sumber
Apa artinya off? jawaban ini berfungsi dengan baik
Dez Udezue
1

Anda juga bisa menggunakan UrlRewriter.NET . Aturan untuk digunakan dengan itu, terlihat seperti ini:

<rewriter>
    <if header="HTTPS" match="^OFF$">
        <redirect url="(.*)" to="https://yourdomain.com$1"/>
    </if>
</rewriter>
Pelindung satu
sumber