在 nginx 中配置 proxy_set_header 透传 referer 防盗链,核心做法是显式声明 referer 头字段。默认情况下,nginx 作为反向代理会保留客户端发送的原始请求头,但如果上游服务器要求严格的防盗链校验,或者需要忽略某些特定来源,可以通过 proxy_set_header referer $http_referer; 来确保该头部被正确传递给后端。如果希望强制指定某个固定的 referer 以绕过简单的白名单检查,可以直接赋值字符串,例如 proxy_set_header referer "https://example.com";。需要注意的是,如果客户端请求中本身不包含 referer(例如直接访问或隐私保护设置),变量 $http_referer 将为空,此时透传行为取决于是否使用了 if 判断或默认值处理。

如何验证当前 Nginx 版本对 Referer 头的默认处理行为
Nginx 默认会透传客户端的 Referer 头给后端应用,无需额外配置即可实现基本的防盗链信息传递。这意味着只要客户端浏览器发送了 Referer,Nginx 就会原样转发,除非你在配置中显式地清空或修改它。这种默认行为适用于大多数标准的 Web 应用防盗链场景,因为后端框架通常依赖这个头部来判断请求来源合法性。
https://referrer-site.com











