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

防止nginx为未经授权的用户将流量路由到另一个ec2实例,nginx,tcp,redis,stream,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地址,这不是一个安全

我在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地址

是的,但答案取决于用例

如果只有少量用户,您可以基于ip地址(视为安全的ip地址)使用(在位置块内):

有关实施细节,请参见以下帖子:


如果您需要该服务可供更多用户使用,而无法管理ip地址库,那么您可能需要查看nginx auth或类似的第三方软件:

谢谢。你能举一个关于第三方对等物的例子吗?对这些不太熟悉,但一个简单的谷歌搜索表明,如果你能通过gmail对它们进行身份验证,它可能会工作得很好。
allow allowed.ip.address.1;
allow allowed.ip.address.2;
deny all;