http://subdomain-a.my-site.com:3000
,我做了一個跨域XHR(ajax)調用http://subdomain-b.my-site.com
。從子域A設置Cookie,子域B
我的jQuery的客戶端有以下設置(用於測試目的):
crossDomain = true
- >請求其他域withCredentials = true
- >從阿賈克斯接受Set-Cookie
頭調用
的Nginx服務器已配置爲在響應中添加以下標頭:
Access-Control-Allow-Origin: http://subdomain-a.my-site.com:3000
Access-Control-Allow-Credentials: true
HTTP響應還包含一些Set-Cookie
頭具有以下結構域:
- 。我-site.com
- 沒有域一種高精度(期望端點域:子域-b.my- site.com)
觀察:
- Chrome的控制檯不顯示此配置的CORS問題。
- 收到HTTP響應後,我去了
chrome://settings/content/cookies
,並且有零餅乾設置爲subdomain-a
或subdomain-b
。
問題=>我是否想做一些可能或不可能的事情?如果可能的話,我錯過了一些配置嗎?
約束: 我知道有一個替代的解決方案,如谷歌Analytics(分析)不設置的cookie(它調用一個服務,然後設置在您的網頁上嵌入JS餅乾),但我們有很多正面的應用程序並不能更新他們來做這個伎倆。我們的解決方案是使用nginx。
無法在子域中設置Cookie。一個頁面只能在其自己的域或父項中設置Cookie。 – Barmar
在瀏覽器網絡工具中顯示什麼是「Set-Cookie」響應 –