首页 > 解决方案 > 设置要求 SSL=true Asp.net 时出错

问题描述

我正在使用表单身份验证的 Asp.net 应用程序工作。在我的 web.config 上,我设置了 requiressl property=true。

我一直在进行开发,没有任何问题,但是当我将它部署到我的测试环境时,我得到了下一个错误:

该应用程序被配置为发布安全 cookie。这些 cookie 要求浏览器通过 SSL(https 协议)发出请求。但是,当前请求不是通过 SSL。”

错误是在

在 System.Web.Security.FormsAuthentication.SetAuthCookie(String userName, Boolean createPersistentCookie, String strCookiePath) 在 System.Web.Security.FormsAuthentication.RedirectFromLoginPage

所以我的问题是为什么 FormsAuthentication.SetAuthCookie 通过 http 设置 cookie?以及如何将其设置为通过 https ?

标签: c#asp.netrequiressl

解决方案


我认为您应该配置您的 IIS 以便为您的站点接受 SSL 连接。

https://docs.microsoft.com/en-us/iis/manage/configuring-security/how-to-set-up-ssl-on-iis

您应该注意,如果您为您的网站激活 SSL,并且如果您没有有效的 SSL 证书,则用户在打开您的网站时会看到警告:继续使用此网站(不推荐)。大多数时候人们不会选择这个选项。

它可以更复杂。对我来说,您应该从提供商处购买 SSL 证书。您应该将它安装在您的服务器上。为了确保您的客户将在 https:// 下浏览您的网站,您应该将任何与您网站的连接重定向到 https://。

这是一个非常有用的链接:

https://www.namecheap.com/support/knowledgebase/article.aspx/9953/38/iis-redirect-http-to-https


推荐阅读