gpt4 book ai didi

c# - ASP.NET MVC RequireHttps 属性不起作用

转载 作者:行者123 更新时间:2023-11-30 16:55:47 25 4
gpt4 key购买 nike

我正在尝试在我的 MVC 应用程序中的所有位置启用 HTTPS。在我的 FilterConfig.cs 中,我添加了以下行:

filters.Add(new RequireHttpsAttribute());

但是,当导航到该网站时,所有功能都可以通过 HTTP 获得,并且仅当用户在浏览器地址栏中明确指定时才能使用 HTTPS。

当这行代码出现在我的本地版本的应用程序中时,它会停止工作,并且我无法再使用 HTTP(正如我所期望的那样)。

我在 Azure 上托管该应用程序。我错过了什么吗?

最佳答案

您可以使用 URLRewrite 模块来完成此任务。 (Download is here)

然后,您可以使用 web.config 中的规则将端口 80 上的所有请求重定向到 https。

<rewrite>
<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="Found" />
</rule>
</rewrite>

请注意,如果您有搜索引擎机器人抓取您的网站并且您正在尝试维护 SEO,则可以将重定向类型更改为永久。

您可以将此规则添加到您的发布配置中,以便仅在部署到 Azure 时强制执行。这样您就可以在进行开发时在端口 80 上本地运行。

关于c# - ASP.NET MVC RequireHttps 属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28992046/

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