我在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地址也是如此?
答案 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/