Asp.net IIS URL重写:403-禁止:访问被拒绝
我安装了Asp.net IIS URL重写:403-禁止:访问被拒绝,asp.net,iis,url-rewriting,Asp.net,Iis,Url Rewriting,我安装了iisurl Rewrite 2.0,并添加了将所有http链接重定向到https的规则。这是我的Web.Config代码: <rewrite> <rules> <rule name="REdirect To HTTPS" stopProcessing="true"> <match url="(.*)" /> <condition
iisurl Rewrite 2.0
,并添加了将所有http链接重定向到https的规则。这是我的Web.Config
代码:
<rewrite>
<rules>
<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>
</rules>
</rewrite>
TLS 1.0已在IIS 7.5中启用
在那里我可以获得关于403错误的确切类型的更多信息?在IIS中启用了SSL。我刚刚读到,在使用URL Rewrite 2.0时,在SSL设置
中需要取消选中SSL
我取消选择
需要SSL
,然后单击应用。现在工作正常了 不确定这是否有帮助,但我发现您的规则未启用
<rule name="Redirect to https" enabled="false" stopProcessing="true">
我遇到了同样的错误;这是我的解决方案,以防对其他人有所帮助 我的规则是将进入默认网站的根应用程序(“/”)的URL重写为“/public”,但我得到了一个403错误。如果我直接请求“/public”应用程序,它可以正常工作;如果我禁用重写规则,它也可以正常工作,因此那里的权限没有问题 如前面的回答中所述,未选中“需要SSL” 查看IIS日志文件,我发现具体的错误是403.18-“无法在当前应用程序池中执行请求的URL”
需要为网站的根应用程序分配与您将请求发送到的应用程序相同的应用程序池。禁用重写规则后,网站工作正常吗?是。当它被禁用时,它可以正常工作。它是否与https一起工作?是。我已经为它配置了443,它工作正常。请尝试
redirectType=“Found”
或“Permanent”
规则已在@Codeone启用。问题是SSL设置。这就是我的问题。我真不敢相信我在这上面浪费了多少时间。我认为这是一件复杂的事情,从来没有想到这是一件如此简单的事情。谢谢阿卜杜勒!“某处”链接断开,但强制SSL的修复非常有趣。我建议遵循以下步骤:通过选择重写目标网站、选择“SSL设置”并取消选中“需要SSL”复选框,这确实帮助了meI做到这一点。我在以前的尝试中检查了它并强制使用SSL
<rule name="Redirect to https" enabled="false" stopProcessing="true">