我有一个静态 S3 托管站点的 api 端点。S3 站点位于以下域名上:www.mysite.com
我的api(django)运行在站点域名:api.mysite.com
当我在我的网站上使用我的登录按钮并使用正确的用户名/密码登录时,django 会使用 Set-Cookie 发回响应,但浏览器没有设置任何 cookie。您可以在下面看到完整的回复,
Request URL:http://api.mysite.com:8000/api/form/login/
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Content-Length:46
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Host:api.mysite.com:8000
Origin:http://mysite.com
Pragma:no-cache
Referer:http://mysite.com/eventform.html
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Ubuntu Chromium/25.0.1364.160 Chrome/25.0.1364.160 Safari/537.22
Form Dataview sourceview URL encoded
token:68f4ebd02c0e1915d3e3110a04fccb0ab670aeab
Response Headersview source
Access-Control-Allow-Origin:*
Content-Type:text/html; charset=utf-8
Date:Mon, 13 May 2013 22:21:54 GMT
Server:WSGIServer/0.1 Python/2.7.3
Set-Cookie:sessionid=3kn2hovtweeofalf00ld3lowb6yvete; Domain=.mysite.com; expires=Mon, 27-May-2013 22:21:54 GMT; Max-Age=1209600; Path=/
Vary:Cookie
注意线
Set-Cookie:sessionid=3kn2hovtweeofalf00ld3lowb6yvete; Domain=.mysite.com; expires=Mon, 27-May-2013 22:21:54 GMT; Max-Age=1209600; Path
=/
在 Django 中,我有 SESSION_COOKIE_DOMAIN = '.mysite.com'
但我尝试将其更改为 'mysite.com' 和 '' 两者都不允许我的浏览器设置此返回的 cookie。
www.msyite.com 是托管在 Amazon S3 上的静态站点,但我使用 Django 作为数据的 api/后端。
当我使用 Django 呈现我的登录页面时,它们工作得很好(登录/注销 cookie 和会话都工作得很好,所以我知道这不是我的 django 代码)但是当使用 S3 甚至 python SimpleHTTPServer 时,浏览器不会设置返回的 cookie .
提前致谢!