【发布时间】:2015-08-27 20:42:06
【问题描述】:
我已经部署了一个 azure Web 应用程序。它用于在 javascript 中设置 cookie ai_session。现在我已经删除了脚本,所以它不会在客户端设置。
但在提琴手中,我看到响应标头为 ai_session 设置了 cookie。 我确定没有设置此 cookie 的服务器端代码,并且在本地它不会复制。 现在我可能有一个服务器端代码在某个时候设置了这个cookie——我不记得了——但在那之后我重新部署了很多次,没有服务器端代码设置cookie。如果我这样做了,那将是一个 http 模块。
这是我的请求标头,没有 cookie:
GET / HTTP/1.1
Host: jssdkonmacos2.azurewebsites.net
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8,ru;q=0.6
以及响应头:
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 1571
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/8.0
Set-Cookie: ai_session=d7020bd5e115451181378e0e9cb25b16|2015-06-11T22:41:33.1330732+00:00|2015-06-11T22:41:33.1643194+00:00; expires=Thu, 11-Jun-2015 23:11:33 GMT; path=/
Set-Cookie: ai_user=c3fa1b963c734b42a7d22f5734a250bf|2015-06-11T22:41:33.1174534+00:00; expires=Fri, 31-Dec-9999 23:59:59 GMT; path=/
X-AspNetMvc-Version: 5.2
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Set-Cookie: ARRAffinity=abc26e3fc461f385c6f17e5ca32edf2284e02c4c257972813a5bc741a7682e55;Path=/;Domain=jssdkonmacos2.azurewebsites.net
Date: Thu, 11 Jun 2015 22:41:32 GMT
Azure 门户为我提供了应用程序/服务器日志 - 这是我删除所有浏览器 cookie 并重新加载页面后的条目(它确实有 ai_session cookie):
2015-06-11 22:55:27 JSSDKONMACOS2 GET /Content/css v=MDbdFKJHBa_ctS5x4He1bMV0_RjRq8jpcIAvPpKiN6U1&X-ARR-LOG-ID=eeb5acd8-956f-4d60-b285-88d8a46a5708 80 - 167.220.0.169 Mozilla/5.0+(Windows+NT+6.3;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/43.0.2357.124+Safari/537.36 ai_session=96b824dd3ee1483699ca0d8fe3ce9fc7|2015-06-11T22:55:27.9458868+00:00|2015-06-11T22:55:27.9458868+00:00;+ai_user=b7396b81095d4920b64494ff3d9f93d0|2015-06-11T22:55:27.9458868+00:00;+ARRAffinity=abc26e3fc461f385c6f17e5ca32edf2284e02c4c257972813a5bc741a7682e55 http://jssdkonmacos2.azurewebsites.net/ jssdkonmacos2.azurewebsites.net 200 0 0 23193 1204 15
我已将同一应用的最新版本部署到一个新的 azure Web 应用,并且没有 cookie,正如预期的那样。
那么 cookie 可以被 azure 缓存吗?或者其他代理正在通往我的应用程序的路上?或者可以“缓存”http模块(web.config不会被重新部署替换)?
【问题讨论】:
-
您是否使用 Application Insights 设置了 Web App 站点?
-
一开始我可能有,但后来我卸载了它,确保没有剩余(appinsights.config、web.config 中的 http 模块、bin 中的引用/dll、nugets)。我确实使用了 appInsights javascript sn-p - 它也发送 ai_session cookie,但后来我禁用了它 - 之后我没有看到浏览器按预期将 ai_session cookie 发送回服务器。而且我多次手动删除了 ai_session - 但每次响应都会被退回。
-
@MaxShekhovtcov 解决了吗?
标签: cookies azure-web-app-service