Site1.com提供了通过按钮在另一个窗口中打开Site2.com的可能性。 Site2.com检查document.referrer。只要Site1.com和Site2.com使用HTTP,一切正常,而referrer属性包含Site1.com的URL。
如果Site1.com使用SSL(https://site1.com)运行,但Site2.com不运行,则引荐来源突然变空。
上的JS客户端代码window.open("http://site2.com", "mySite2.com")
Site2.com通过以下方式检查JS客户端代码中的引荐来源:
document.referrer
结果是空的。
我的问题: 这是一个Javascript问题还是一个Nginx问题?在Site1.com上使用HTTPS时,为什么引用者为空?
同样,如果两个站点都在使用HTTP,那么一切正常。如果Site1.com使用HTTPS,那么推荐人在Site2.com上没有通过。
答案 0 :(得分:2)
都不是。这是浏览器安全策略。从安全站点到非安全站点时,他们不会发送引荐来源。
答案 1 :(得分:2)
根据HTTP 1.1协议。
如果使用安全传输引用页面,客户端不应在(非安全)HTTP请求中包含Referer头字段
Here是政策。
您无法使用http将https引用到网站。推荐人将来自
https到https 要么 http到https 。