【问题标题】:Error when setting require SSL=true Asp.net设置要求 SSL=true Asp.net 时出错
【发布时间】:2019-07-20 00:28:33
【问题描述】:

我正在使用表单身份验证的 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??

【问题讨论】:

  • 是否您的生产服务器使用 SSL? ULR 是否以 https: 开头?
  • 是的,它使用 SSL
  • 我有同样的问题,一切都是 https 并且我有一个证书,但我收到了这个错误。我们的 F5 将流量从 http 重定向到 https 并使用端口 80。

标签: c# asp.net requiressl


【解决方案1】:

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

【讨论】:

  • true.. 要求 ssl 意味着应用程序不会占用 http 流量。你仍然需要在 IIS 中将 http 重定向到 https ......猜猜怎么着......没有简单的方法可以做到这一点......该死的你 IIS。您将需要使用 rewrite 插件或删除 require ssl 并在它自己的应用程序中进行硬重定向。仅供参考:dotnet core 进行硬重定向
猜你喜欢
  • 1970-01-01
  • 2014-02-24
  • 2017-01-02
  • 2019-02-20
  • 1970-01-01
  • 2010-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多