Nginx配置valid referrers:放行/external路由外限制访问来源
Nginx配置:保留Referer限制同时开放/external路径的任意访问
直接给你可行的配置方案,利用Nginx的location匹配优先级实现需求:
# 优先匹配所有以/external/开头的请求,跳过Referer校验 location ^~ /external/ { # 这里放你原本针对API的配置,比如proxy_pass、root等 # 示例:如果是反向代理API # proxy_pass http://your-api-upstream; } # 原有配置:对其他所有路径进行Referer限制 location / { valid_referers example.com example2.com; if ($invalid_referer = '') { return 403; } # 其他原有配置... }
关键说明:
^~是前缀匹配标记,优先级高于普通前缀和正则匹配,确保所有/external/开头的请求(比如/external/test1、/external/test2)都会进入这个块,不受Referer限制- 如果你的实际需求是匹配路径以/external结尾的请求(比如
/api/external),把上面的location改成正则匹配即可:location ~* /external$ { # 配置内容同上 } - 原有
location /的Referer限制逻辑保持不变,只对非/external路径生效
内容的提问来源于stack exchange,提问作者Glen
相关产品推荐
相关产品推荐

