防止nginx将流量路由到未经授权的用户到另一个ec2实例

时间:2018-07-18 03:18:18

标签: nginx tcp redis stream

我在ec2实例上运行了nginx服务器。我正在使用TCP连接将流量从Nginx路由到Redis实例,并且配置文件如下:-

events{}
stream {
  upstream redis {
  server **.***.***.**:80;
  }
    server {
    listen 80 so_keepalive=on;
    proxy_pass redis;
    }
}

据此,每个人都可以访问我的redis实例(如果他们拥有nginx实例的ip地址),这是不安全的做法。有没有一种方法可以防止未经授权的用户被路由到我的redis数据库,即使他们知道nginx实例的IP地址也是如此?

1 个答案:

答案 0 :(得分:0)

是的,但是答案取决于用例。

如果用户数量很少,则可以使用(在位置块内)基于IP地址进行例外处理,该地址被认为是安全的:

allow allowed.ip.address.1;
allow allowed.ip.address.2;
deny all;

有关实现的详细信息,请参见以下帖子:

如果您需要让该服务对更多用户可用,而不是可以管理ip地址,那么您可能需要研究nginx auth或类似的第三方等效产品:https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-http-basic-authentication/