设置要求SSL = true时发生错误Asp.net

时间:2019-02-26 12:45:42

标签: c# asp.net requiressl

我正在使用表单身份验证的Asp.net应用程序中工作。在我的web.config上,我已将requiresl属性设置为true。

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

  

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

错误发生于

  在System.Web.Security.FormsAuthentication.SetAuthCookie中的

(字符串userName,布尔值createPersistentCookie,字符串strCookiePath)    在System.Web.Security.FormsAuthentication.RedirectFromLoginPage

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

1 个答案:

答案 0 :(得分:2)

我认为您应该配置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