项目原本访问正常,在谷歌Chrom 升级到80后,跨域Samesite必须有值影响跨域项目的解决

对于开发小白来说,这都说的是什么玩意,完全不懂!没关系,我也不懂。
Nginx解决方案
首先如果你的项目上使用了反向代理那么恭喜你,你只需要简单的参照转发的这个进行设置。

用 Nginx 自动给 Cookie 增加 Secure 和 HttpOnly

在 nginx 的 location 中配置

  1.  
    # 只支持 proxy 模式下设置,SameSite 不需要可删除,如果想更安全可以把 SameSite 设置为 Strict
  2.  
    proxy_cookie_path / "/; httponly; secure; SameSite=NONE";

示例

  1.  
    server {
  2.  
    listen 443 ssl http2;
  3.  
    server_name www.cat73.org;
  4.  
     
  5.  
    ssl_certificate /etc/letsencrypt/live/cat73.org/fullchain.pem;
  6.  
    ssl_certificate_key /etc/letsencrypt/live/cat73.org/privkey.pem;
  7.  
     
  8.  
    ssl_trusted_certificate /etc/letsencrypt/live/cat73.org/chain.pem;
  9.  
     
  10.  
    add_header X-XSS-Protection "1; mode=block";
  11.  
    add_header X-Frame-Options SAMEORIGIN;
  12.  
    add_header Strict-Transport-Security "max-age=15768000";
  13.  
     
  14.  
    location / {
  15.  
    root /var/www/html;
  16.  
    }
  17.  
     
  18.  
    location /api {
  19.  
    proxy_pass http://localhost:8080;
  20.  
    proxy_set_header Host $host;
  21.  
    proxy_set_header X-Real-IP $remote_addr;
  22.  
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  23.  
    # 在这里设置
  24.  
    proxy_cookie_path / "/; httponly; secure; SameSite=NONE";
  25.  
    }
  26.  
    }

 

posted @ 2020-09-03 10:09  China Soft  阅读(0)  评论(0编辑  收藏  举报