【问题标题】:prevent nginx from routing traffic to another ec2 instance for unauthorized users防止 nginx 为未经授权的用户将流量路由到另一个 ec2 实例
【发布时间】:2018-07-18 03:18:18
【问题描述】:

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

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

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

【问题讨论】:

    标签: nginx tcp redis stream


    【解决方案1】:

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

    如果用户数量较少,您可以根据 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/

    【讨论】:

    • 谢谢。你能举一个第三方等效的例子吗?
    • 对这些不太熟悉,但简单的谷歌搜索表明github.com/cloudflare/nginx-google-oauth 可以很好地工作,如果你可以通过 gmail 对它们进行身份验证。
    猜你喜欢
    • 2019-08-10
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多