为啥我在使用 Godaddy 服务器的 MVC3 应用程序中有不稳定的会话
Posted
技术标签:
【中文标题】为啥我在使用 Godaddy 服务器的 MVC3 应用程序中有不稳定的会话【英文标题】:Why do I have unstable session in a MVC3 application with godaddy servers为什么我在使用 Godaddy 服务器的 MVC3 应用程序中有不稳定的会话 【发布时间】:2012-08-25 17:17:49 【问题描述】:我在 godaddy 服务中有一个 MCV3 应用程序,会话非常不稳定。
当我登录时它工作正常,但在应用程序中导航时它会注销我,并在应用程序中点击刷新或导航更多一点,就像那样让我登录(不询问凭据或任何东西)。在我的远程测试服务器和本地测试服务器上工作正常。
【问题讨论】:
【参考方案1】:这可能不是会话问题,而是身份验证 cookie/票证问题。 GoDaddy(很可能)使他们的服务器负载平衡。这意味着您的应用程序实际上一次存在于多个服务器上。
在您的 web.config 中,如果您没有正确定义 <machineKey>
属性,那么 IIS 将为您组成一个机器密钥。如果您未定义,则运行该应用程序的每台服务器都将创建自己的机器密钥。结果,一个服务器能够解密并读取您的身份验证票,而下一个请求会发送到另一台无法解密身份验证票的服务器,因为它是使用不同的密钥加密的,并且该服务器认为您没有登录。
要解决此问题,请打开您的 web.config 文件并定义您的 <machineKey>
属性并重新部署。使用新部署的应用程序登录后,您应该会看到此问题消失。
Forms authentication and Machine Key information on MSDN
Machine Key Generator(很可能,到这里的每个人都应该使用生成的 .NET 2.0 版本)
【讨论】:
我无法表达我现在对你的感激之情。谢谢你。就是这样。 史诗。这不仅是正确的,而且解释得非常完美和详细。非常好,这对我也有帮助。以上是关于为啥我在使用 Godaddy 服务器的 MVC3 应用程序中有不稳定的会话的主要内容,如果未能解决你的问题,请参考以下文章
打开在godaddy注册的域名为啥是godaddy的页面呢?
如何从 Godaddy 证书导出私钥并与 Apache SSL 一起使用
PHPMailer GoDaddy 服务器 SMTP 连接被拒绝