赞助商

使用nginx,如何限制每个预读主机名或上游的代理TCP资源的访问?

发布时间:2019-07-11 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了使用nginx,如何限制每个预读主机名或上游的代理TCP资源的访问?脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

nginx docsguides表明您可以在流块内执行基于ip的白名单/黑名单.

但是,我无法找到如何允许/拒绝基于ip的连接,因为只有使用ssl preread读取的某些主机名.

情况

我有一个nginx框,代表私有网络上的许多服务.其中一些服务应该暴露在网络之外,而有些则不应该.这个nginx框代表内部和外部连接.

# TCP proxying with SSL passthrough & vhosts
stream {
        map $ssl_preread_server_name $name {
            public.example.com      public;
            private.example.com     private;
            default                 default_upstream;
        }

        upstream public {
                server 10.0.0.2:443;
        }

        upstream private {
                server 10.0.0.3:443;
        }

        upstream default_upstream {
                server 10.0.0.4:443;
        }

        server {
                listen      443;
                proxy_pass  $name;
                ssl_preread on;
        }
}

如何仅将基于ip的阻止应用于前往private.example.com的连接?

最佳答案
我找到了一个简单的方法来解决你的问题.您应该使用其他服务器块来过滤IP.所以,你的配置应该是这样的:

# TCP proxying with SSL passthrough & vhosts
stream {
        map $ssl_preread_server_name $name {
            public.example.com      public;
            private.example.com     private;
            default                 default_upstream;
        }

        upstream public {
                server 10.0.0.2:443;
        }

        upstream private {
                #server 10.0.0.3:443;
                server 127.0.0.1:444;
        }

        upstream default_upstream {
                server 10.0.0.4:443;
        }

        server {
                listen      444;
                proxy_pass  10.0.0.3:443;
                ssl_preread on;
                deny  192.168.1.1;
                allow 192.168.1.0/24;
                allow 10.1.1.0/16;
                deny  all;
        }

        server {
                listen      443;
                proxy_pass  $name;
                ssl_preread on;
        }
}

总结

以上是脚本之家为你收集整理的使用nginx,如何限制每个预读主机名或上游的代理TCP资源的访问?全部内容,希望文章能够帮你解决使用nginx,如何限制每个预读主机名或上游的代理TCP资源的访问?所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:76874919,请注明来意。
标签:nginx