【问题标题】:Expose non 80 or 443 port on aws在 aws 上公开非 80 或 443 端口
【发布时间】:2018-09-17 16:19:17
【问题描述】:

我希望在 ec2 上托管的服务器上启用 https 并将流量从 http 重定向到 https。

我已使用 https 绑定到端口 4000,但在为我的实例公开此端口以提供内容时遇到问题。

在我的安全组中,我有以下配置:

如果它可能有用,sudo docker ps 的输出是:

CONTAINER ID        IMAGE               COMMAND               CREATED              STATUS              PORTS              NAMES
59315f7862f1        site_web            "/site/entrypoint.sh …"   37 minutes ago      Up 36 minutes       0.0.0.0:443->443/tcp, 0.0.0.0:4000-4001- >4000-4001/tcp, 0.0.0.0:5432->5432/tcp   site_1

我正在考虑查看使用 nginx 从 443 或 iptables 重定向流量的路线。

我应该从什么方向来解决这个问题?我是不是非常规地配置了这个?

【问题讨论】:

    标签: amazon-web-services nginx amazon-ec2 configuration iptables


    【解决方案1】:

    您所写的安全组允许来自任何地方的tcp/443(IPv4 和 IPv6),来自任何地方的tcp/80(IPv4 和 IPv6),并允许来自单个 IP 的tcp/22 146.90.23.135

    如果您的目标是公开列出的所有 docker 端口,您应该删除安全组中的两个 TCP 80 条目并添加两个新条目:

    • 类型:自定义 TCP 规则,协议:TCP,端口范围:4000-4001,来源:0.0.0.0 /0
    • 类型:自定义 TCP 规则,协议:TCP,端口范围:5432,来源:0.0.0.0/0
    • 保留 TCP 443(转到您的 docker 容器)和 TCP 22(以便您可以 SSH 到您的主机)的规则。

    几点说明:

    • 安全组的Type列实际上只是为了帮助输入常用协议,从过滤/防火墙的角度来看,它没有任何意义。 HTTP 与端口范围设置为 80Custom TCP Rule 没有什么不同。
    • 您不会使用 AWS 安全组对端口进行任何重定向。如果您需要,您可以在操作系统中使用 iptables,或者您可以使用 AWS 的 Elastic Load Balancer。

    【讨论】:

      猜你喜欢
      • 2018-04-07
      • 1970-01-01
      • 2014-08-16
      • 2018-09-11
      • 1970-01-01
      • 2020-05-31
      • 2013-08-13
      • 2019-02-02
      • 1970-01-01
      相关资源
      最近更新 更多