2014-09-30 15 views
5

HTTP'yi bir Web.config URL yeniden yazma kuralı kullanarak bir Azure Web Sitesinde HTTPS'ye zorlamaya çalışıyorum.Azure'ta HTTPS'yi zorla ve URL'ye ekle

HTTP: HTTPS için //site.domain.com/sitefolder:

HTTP //site.domain.com/sitefolder: Aşağıdaki senaryoların hem encompases bir kural istiyorum // sitesi .domain.com/sitefolder/default.aspx to HTTPS: //site.domain.com/sitefolder/default.aspx

this guide izlerseniz HTTP'yi HTTPS'ye zorlayabilirim ancak URL, HTTPS: // sitesine dönüşür/sitefolder veya /sitefolder/default.aspx eklenmeden .domain.com.

Şu an sahip olduğum şey budur. HTTPS zorlanır, ancak tam URL dahil değildir:

<rule name="Redirect to https"> 
     <match url="(.*)"/> 
     <conditions> 
     <add input="{HTTPS}" pattern="Off"/> 
     <add input="{REQUEST_METHOD}" pattern="^get$|^head$" /> 
     </conditions> 
     <action type="Redirect" url="https://{HTTP_HOST}/{R:1}"/> 
    </rule> 

Burada test edebilirsiniz:

<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="Permanent" /> 
</rule> 

cevap

5

Bu Azure WebSites HTTPS olarak doğru yönlendirme yapar basit kuraldır http://double.azurewebsites.net (almak Bağlantıdaki HTTP'deki not) Burada tanımlanmış başka kural yok. Yukarıdaki kural, derin bağlantılara, yani http://double.azurewebsites.net/Home/About

+1

'a doğru şekilde yönlendirir. Teşekkürler, bu tam olarak çalıştı. Şerefe. – MK8

+0

@ MK8, sadece baş ve get (yani başka bir isteğin POST gibi HTTPS'ye yeniden yönlendirilmeyeceği anlamında) olduğunu dikkate alır. – Ron

+0

Bu konuda birçok blog yayını var, ancak bu gerçekten işe yarayan tek kural. –