我们在Azure中有2个负载均衡的Web服务器。 我们刚刚在我们这些azure色网站中安装了SSL,将其转换为HTTPS。
现在我们希望任何以HTTP方式进入的请求都应该被改变/redirect到HTTPS连接。
所以,我为了testing我在本地机器上创build了一个已发布的网站,然后添加了自签名的SSL证书来获得一个安全的网站。 然后我使用URL重写将我的HTTP站点指向HTTPS。 我在Web.config中使用了这个。
这完全适用于我本地发布的网站。
但是,这在Azure服务器上失败,并给我一个内部服务器错误。
有任何想法吗?
我在Web.config中使用了以下URL重写
<rewrite> <rules> <rule name="HTTP to HTTPS redirect" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="Off" /> <add input="{REQUEST_METHOD}" pattern="^get$|^head$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="SeeOther" /> </rule> </rules>
我想我们可以使用URL重写将HTTPredirect到HTTPS。 我们可以按照这些步骤来实现这个function。
如果您没有URL Rewrite,我们可以从Microsoft下载它。您可以从Googlefind链接。 当您成功安装它时,您可以在IIS中看到URL重写。
该网站受以下两个协议的约束:443 80
configurationURL重写。


configuration在两个方向的政策
我们testing它。
在Azure VM中,我们访问http://,它将成功redirect到https://。
现在,我们要注意在Azure中进行configuration。
Web服务器NSG规则 。
对于input规则,应允许80和443访问。
负载平衡设置。
我想我们应该设置两个负载平衡设置,80和443。
也许应用程序网关也可以实现这个function。