我正面临从HTTPredirect我的HTTPS Web服务的问题。
我已经将CA SSL证书应用于我的Web服务并使用URL重写,我已经完成了IIS 7.5中redirect的更改。
这里是我得到我的web.configconfiguration:
<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>
但没有取消选中需要SSL我的web服务,我不能从HTTPredirect到HTTPS,我得到一个403.4错误。
当我尝试添加403.4代码的错误页面,它不接受它,并说我们不能添加403.3代码。 它只接受403,404等
“需要SSL”checkbox正是导致所有常规HTTP请求返回HTTP 403的原因。 取消选中它不会“破坏SSL”或类似的东西,它只是允许IIS为HTTP请求提供响应
有两种方法:
第一种方法是最容易实现和维护的,但是第二种方法提供了额外的保护措施,如果URL重写模块由于任何原因失败,IIS将会抛出一个错误(而不是服务非http内容)