IIS URL HTTP 到 HTTPS 重定向不适用于 ASP.Net 应用程序
IIS URL HTTP to HTTPS redirect not working on ASP.Net application
我有一个 ASP.Net 应用程序托管在安装了 Plesk 的网络服务器上。
该应用程序托管在子域 (webapp.website.com) 上,登录系统的 link 是通过主域网站提供的,所以我直到现在才注意到这一点现在。
如果您输入 webapp.website.com
或 http://webapp.website.com
,该网站将连接到不安全的页面并出现以下错误:
Server Error
403 - Forbidden: Access is denied.
You do not have permission to view this directory or page using the credentials that you supplied.
如果您手动输入 https://webapp.website.com
(这是 link 的设置),应用程序连接正常并按预期工作。
我在 Plesk 中启用了永久重定向到 HTTPS,并在 IIS 管理器中手动编写了重定向规则,但由于某种原因它似乎忽略了此规则,因为服务器连接在 HTTP 中失败并显示服务器错误改为页面。
如何解决重定向问题以停止 HTTP 错误,或者跳过并重定向到 HTTPS?
我怀疑你的规则可能有问题,你可以试试下面的规则:
<rewrite>
<rules>
<rule name="Test" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="OFF" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
此规则会将所有 http 请求重定向到 https。
我有一个 ASP.Net 应用程序托管在安装了 Plesk 的网络服务器上。
该应用程序托管在子域 (webapp.website.com) 上,登录系统的 link 是通过主域网站提供的,所以我直到现在才注意到这一点现在。
如果您输入 webapp.website.com
或 http://webapp.website.com
,该网站将连接到不安全的页面并出现以下错误:
Server Error 403 - Forbidden: Access is denied. You do not have permission to view this directory or page using the credentials that you supplied.
如果您手动输入 https://webapp.website.com
(这是 link 的设置),应用程序连接正常并按预期工作。
我在 Plesk 中启用了永久重定向到 HTTPS,并在 IIS 管理器中手动编写了重定向规则,但由于某种原因它似乎忽略了此规则,因为服务器连接在 HTTP 中失败并显示服务器错误改为页面。
如何解决重定向问题以停止 HTTP 错误,或者跳过并重定向到 HTTPS?
我怀疑你的规则可能有问题,你可以试试下面的规则:
<rewrite>
<rules>
<rule name="Test" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="OFF" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
此规则会将所有 http 请求重定向到 https。