gpt4 book ai didi

asp.net - IIS 仅将域的 http 重定向到 https

转载 作者:太空宇宙 更新时间:2023-11-03 13:34:47 24 4
gpt4 key购买 nike

我已经创建了 ASP.NET Core 项目,并为我的网站购买了 SSL。我在我的 web.config 中创建了一个重定向规则来将我的 http 重定向到 https。我遇到的问题是我网站上的每个链接现在都有 https,这会导致证书问题,因为其中一些链接没有 ssl。这就是我所做的:

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

例如,我的网站域名是 www.example.com。在我的项目上启用 SSL 后,我的网站现在是 https://www.example.com .我的网站上有一些链接供我的合作伙伴使用,例如 www.partner1.com。问题是现在我的合作伙伴链接在他们的 url 中也有 https,但他们的网站没有 SSL 证书,这意味着当我点击他们的链接时,我被重定向到 https url,因此我有一个证书错误页面。

如何将我的域设置为只有 https,而让我的合作伙伴的 href 链接仍然使用 http?

最佳答案

我建议您使用相同的规则:

 <rewrite>
<rules>
<clear />
<rule name="Redirect to https" stopProcessing="true"> <match url=".*" />
<conditions> <add input="{HTTPS}" pattern="off" ignoreCase="true" /> </conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>
</rewrite>

因为我使用的是相同的,而且我已经检查过你的场景,它工作完美..正如你在回答中提到的。

我在我的网站页面上创建了一个链接,并将该 href 设置为另一个网站的 http://域。它没有改变,点击该链接工作正常。这是链接代码:

 <a target="_blank" href="http:// www.jwoodmaker.com/">Test</a>

因为我已经向您发送了包含完整详细信息的链接。 this link

关于asp.net - IIS 仅将域的 http 重定向到 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43362432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com