[紧急求助]内网Win Server2008部署站点,域名访问时在IE中Cookie丢失
我在公司内网的一台Windows Server 2008服务器上部署了一个mvc的站点(结合一个CMS:Sitefinity),设置了域名并修改host实现域名访问(内含子站点)。然后发现通过FF,Chorme等都能通过该域名正常访问并登陆。但是IE下通过域名访问就会Cookie丢失,所以也不能登录,直接IP加端口就不会丢失cookie。IE中域名访问时可以看到请求里面有接收到cookie,但是点击“开发工具- 缓存-查看cookie信息”时发现为空。
部署在win 8(我本机)的IIs下的时候一切正常。同样设置域名,修改hosts等。
求大神指导!先谢过
IE隐私设置调为最低已经尝试,无效。
域名中带下划线引起,参见http://support.microsoft.com/kb/316112
实践证明,这是对的答案
感觉是否有什么代码在浏览器里操作了cookie导致的?
建议你:
先做一个简单的网站,也不要搞什么业务逻辑什么登录,就跟踪Cookie,看是否还有这样的问题存在。
尝试了另外一个站点,以及新建了一个纯Mvc的Demo部署上去,发现全部不行,所以应该是服务器端的IIs的配置或者server系统的安全性设置?
@PhiloYang: 出现这样的情况,看起来是服务器的问题。但是:
1、你的服务器在FF、google下是OK的,说明服务器不出现问题
2、你可以通过Fiddler2这个工具跟踪看,IE访问网站后,服务器是否正确的把cookie输出了
3、换别的机器访问你的服务器,IE也会出现这样的问题?
4、问题很有可能是你电脑的IE后系统有问题了。
@519740105: Ok. 我马上验证看看。thanks
@519740105: 我知道是什么问题了,我的域名里面有下划线……
http://support.microsoft.com/kb/316112
@PhiloYang: 呵呵,问题解决就好了。
你查下域名注册里域名的规范,域名是允许有中划线(减号),但不允许下划线的。
IE禁止了,说明IE严格了执行了这个规范。
FF、GOOGLE允许了,说明FF、GOOGLE的兼容性强。
@519740105: 嗯,刚刚看了下域名的一些细节,之前都没特意关注过,吃亏了呀。谢谢指教!
@PhiloYang: 犯这个错误也正常,毕竟IE也是能访问的,只是在COOKIE的时候突然严格起来了。
关键的还是遇到这样的问题怎样去分析,找出问题点,也就是鱼和渔的区别吧。
我建议你多弄几台机器试试
还有就是你登陆的站点 和你访问的站点是不是在同一个域名下
localhost不靠谱的 别的站登陆的 你也能获得cookie
谢谢,已解决。