node在Chrome取不到完整Referer的解决办法
node在Chrome取不到完整Referer主要是安全策略的问题,火狐、edge也有相同问题
node在Chrome取不到完整Referer的解决办法-MakerLi

Chrome 85+ Referer 丢失URI Path问题解决

Chrome85 的 referer 策略修改-更改html代码

原本默认的 referer 策略(policy)是no-referrer-when-downgrade,即允许referer带上来源页面地址上的请求参数,Chrome85+将策略修改为strict-origin-when-cross-origin,即如果请求地址与请求页面非同源,将只携带请求的域名,不会再带上来源页面地址的请求参数。

解决方案:在html里设置

<meta name="referrer" content="no-referrer-when-downgrade" />

no-referrer

整个 Referer 首部会被移除。访问来源信息不随着请求一起发送

no-referrer-when-downgrade (默认值)

在没有指定任何策略的情况下用户代理的默认行为。在同等安全级别的情况下,引用页面的地址会被发送(HTTPS->HTTPS),但是在降级的情况下不会被发送 (HTTPS->HTTP)。

origin

在任何情况下,仅发送文件的源作为引用地址。例如 https://example.com/page.html 会将 https://example.com/ 作为引用地址。

origin-when-cross-origin

对于同源的请求,会发送完整的URL作为引用地址,但是对于非同源请求仅发送文件的源。

same-origin

对于同源的请求会发送引用地址,但是对于非同源请求则不发送引用地址信息

strict-origin

在同等安全级别的情况下,发送文件的源作为引用地址(HTTPS->HTTPS),但是在降级的情况下不会发送 (HTTPS->HTTP)。

strict-origin-when-cross-origin

对于同源的请求,会发送完整的URL作为引用地址;在同等安全级别的情况下,发送文件的源作为引用地址(HTTPS->HTTPS);在降级的情况下不发送此首部 (HTTPS->HTTP)。

unsafe-url

无论是同源请求还是非同源请求,都发送完整的 URL(移除参数信息之后)作为引用地址。(最不安全的策略了)

Chrome85 的 referer 策略修改-更改nginx配置

add_header Referrer-Policy no-referrer-when-downgrade;
来源:https://my.oschina.net/osgit/blog/4674989