无锡做网站费用,广州论坛网站,网站建设的优质,河北省建设监理协会网站#xff08;文章转自#xff1a;http://blog.robotercoding.com/?p62#xff09; 为了减轻主服务器的负担#xff0c;希望把图片的处理单独拿出来#xff0c;由图片服务器来处理图片上传#xff0c;浏览等操作。图片上传使用了ajax方式#xff0c;采用了ajaxfileupload… 文章转自http://blog.robotercoding.com/?p62 为了减轻主服务器的负担希望把图片的处理单独拿出来由图片服务器来处理图片上传浏览等操作。图片上传使用了ajax方式采用了ajaxfileupload控件它动态生成了一个iframe由iframe来接受上传结果。以前的操作都在www.***.com上处理这个控件用得不错分开之后由img.***.com来负责上传结果问题就来了iframe的contentWindow以及contentDocument下面的document拒绝访问。google之后发现应该是跨域问题按照道理来说两个子域的跨域应该很好解决。无非是设置document.domain主页面中如下设置 script language”text/javascript”document.domain “***.com”;/script 在iframe中的onload事件函数中也设置了document.domain “***.com”;测试了一下行不通还是会报“拒绝访问”虽然Firebug已经看到了返回值。对javascript不是很熟悉不知道iframe中这样设置document.domain是否合法。 然后再google了一堆资料针对跨域的处理有很多方式jquery的jsonp技术动态地添加一个script标签因为script标签的src属性是没有跨域的限制但是好像只能get不支持post。还有通过服务器中转数据先到达www.***.com,由www服务器发送到img服务器进行处理这样也没有问题但是数据绕了一圈费时费力。 这个时候想起了nginx的代理设置是否能够将www服务器的目录映射成img服务器呢我想应该可以的那就尝试一下。 首先给ubuntu装上dns服务器可以模拟这些域名进行测试。然后配置nginx如下 upstream hosts_www_com {server 192.168.1.2:80;}server {listen 80;server_name www.***.com; access_log /var/log/nginx/***.host.access.log; location ~ ^/imgupload/ {proxy_pass http://192.168.1.129; #图片服务器的ipproxy_set_header X-Real-IP $remote_addr; proxy_redirect off; } location / {proxy_redirect off;proxy_set_header Host $host;proxy_pass http://hosts_www_com;proxy_set_header x-real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;} } 然后再测试一下OK了。 update: django中跨域读取cookie可以直接设置 SESSION_COOKIE_DOMAIN ‘.abc.com’ 注意前缀一定要有点. 转载于:https://www.cnblogs.com/Deasel-s-magic-box/archive/2012/09/20/2695288.html