加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

安全性 – 如何在多个位置重用NGINX代理设置

发布时间:2020-12-13 21:01:15 所属栏目:Nginx 来源:网络整理
导读:我需要根据查询字符串参数限制对某些文件的访问.我有一个NGINX代理服务器,位于其他几个nginx Web服务器之前,用于负载平衡.我已决定在代理服务器级别强制执行此查询字符串参数,以便合并配置更改.这为我的设置增加了一点复杂性,因为请求不会被困在if中,因为它

我需要根据查询字符串参数限制对某些文件的访问.我有一个NGINX代理服务器,位于其他几个nginx Web服务器之前,用于负载平衡.我已决定在代理服务器级别强制执行此查询字符串参数,以便合并配置更改.这为我的设置增加了一点复杂性,因为请求不会被困在if中,因为它需要向上游发送.

server {
        listen 443;
        # SSL Settings

        server_name staging.xxxx.com;

        location / {
                proxy_pass http://webdav-cluster;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP       $remote_addr;
                proxy_set_header Host            $http_host;
        }

        # Unless the correct application token is passed in as a query parameter
        # then deny access.
        location ~ /protected/.*txt${
                if ($arg_secret != abc) {
                        return 403;
                }

                proxy_pass http://webdav-cluster;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP       $remote_addr;
                proxy_set_header Host            $http_host;
        }
}

有没有办法将这4个代理行存储在一个位置或变量中,然后在内部重定向到一行?我也可以在不同的虚拟主机中使用相同的设置.

最佳答案
在这种情况下,您应该使用include指令:http://nginx.org/r/include

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读