【问题标题】:AWS VPC - Edit DNS Hostnames issue with public IP ERR_CONNECTION_REFUSEDAWS VPC - 使用公共 IP ERR_CONNECTION_REFUSED 编辑 DNS 主机名问题
【发布时间】:2017-01-06 23:47:48
【问题描述】:

当我没有在我的自定义 VPC 中启用 DNS 主机名时,我遇到了一个奇怪的问题,即 ERR_CONNECTION_REFUSED。

我创建了一个具有一个子网(公共)、一个路由表和一个 Internet 网关的 VPC。

我的路由表有一条到我的 Internet 网关的路由。我正在使用默认的网络 ACL。我的 SG 开放了 1024-65535 端口(

我从 AWS Linux AMI 创建一个实例并将其放入我的公共子网中。当我的 VPC 配置为通过启用“编辑 DNS 主机名”来分配 DNS 主机名时,我可以从浏览器访问我的实例。 (实例是一个 Nodejs Web 服务)。一切正常,网络接口流日志验证流量正在到达我的实例。

我通过“编辑 DNS 主机名”在我的 VPC 中禁用 DNS 主机名创建。我按照相同的步骤创建了一个新实例。它没有预期的 DNS 主机名(私有或公共),但它有一个公共 IP 地址。当我尝试通过浏览器通过公共 IP 连接到我的实例时,我得到 ERR_CONNECTION_REFUSED。

看来我可以通过启用/禁用 DNS 主机名轻松地通过成功/失败重现此错误。

我的配置中是否缺少某些内容?这是一个已知的问题?我在吸食快克吗?

谢谢。

【问题讨论】:

  • 为什么不在 VPC 中启用 DNS 主机名?我想不出这样做的理由。但是检查节点进程启动。它可能无法找到它自己的主机名,因此无法启动,或者它前面的任何东西(Nginx 等,如果有的话)都无法启动。
  • 我也想不出不启用 DNS 主机名的充分理由,但这是默认设置。

标签: amazon-ec2


【解决方案1】:

问题是 Nodejs Web 服务找不到要绑定的主机名...因为我从 #!/bin/bash UserData 脚本中的元数据中提取要绑定的主机名:

# Grab the EC2 instance internal DNS and configure the Hapi server host value
localhost=$(curl http://169.254.169.254/latest/meta-data/local-hostname)
rm -f ServerHost.js
echo -n "module.exports = \"" > ServerHost.js
echo -n "$localhost" >> ServerHost.js
echo "\"" >> ServerHost.js

但由于没有私有 DNS(因为手动创建 VPC 时默认为“禁用”),因此没有“本地主机名”。

【讨论】:

    猜你喜欢
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    • 2021-04-10
    • 2015-02-19
    • 2015-05-10
    • 2015-12-01
    • 1970-01-01
    相关资源
    最近更新 更多