问题描述
- 这是我的问题:
我已经使用Nginx和安全的HTTPS协议在ubuntu上挂载了一个网页,该网页出现了问题,因为当尝试与树莓派进行本地连接时,前端会显示“混合内容:该网页at已通过HTTPS加载,但请求了不安全的XMLHttpRequest端点。此请求已被阻止;必须通过HTTPS提供内容。“
此错误是由于我的主机通过HTTPS协议传输而我的本地主机是HTTP,因此要纠正此错误,我必须在本地运行我的网页。
事实证明,当我在指向HTTPS协议上的API后端的本地网络上进行身份验证时,Chrome浏览器阻止了我的Cookie,我看到一条警告。最奇怪的是,它可以在Mozilla Firefox或Postman中使用。
有什么解决办法吗?我在互联网上发现您必须使用httpOnly false,secure false和sameOn来设置NodeJS cookie的属性,但没有一个对我有用:(有什么想法吗?
解决方法
我已经解决了我的问题,这是一个nginx配置,除了我安装的域之外,它不接受cookie到任何页面,只需将其添加到nginx配置中即可:
location / api / {
proxy_pass http://localhost:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $ http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $ host;
proxy_cache_bypass $ http_upgrade;
proxy_cookie_path / "/; SameSite = None; secure";
}
我刚刚添加了这个proxy_cookie_path /“ /; SameSite = None; secure”;
有关更多信息,请单击此处:How to fix "set SameSite cookie to none" warning? Chrome Extension