nginx做为第二层密码保护及基于header的地址防护

这个需求是在一些具备安全要求,又想将监控,日志等平台代理到公网尽可能做到安全保护的方案,通常nginx在内网,外层会有clb(7层),网关或waf类的代理组建,默认监控平台大多为开源平台,有些有认证,有些无认证,还会随着安全渗透暴露出一些问题,这里通过nginx添加二层密码验证,达到将平台防护,又通过XFF传过来的源地址做为白名单限制访问来达到安全防护的目的

#直接上配置,全局的话直接在server端限制,正常场景nginx很难能直接拿到源地址,基本都是通过header传进来的
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

if ($http_x_forwarded_for !~ "x.x.x.x|x.x.x.x" ) {
    return 404 "<center><h1>Resource Not Found</h1></center>";
}


location ^~ /xxxxx/ {
                proxy_pass http://x.x.x.x:5601/xxxx/;
                proxy_read_timeout 180s;
                proxy_redirect off;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Authorization '';
        
                auth_basic           "pls input passwd";
                auth_basic_user_file conf.d/htpasswd.user;
        }

此条目发表在nginx分类目录。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注