无法从 Hetzner Ubuntu 24.04 获取 nginx 欢迎页面。具有自定义域和 docker 的 LTS 服务器

问题描述 投票:0回答:1

我正在尝试设置服务器,但在获取标准 nginx 欢迎页面时遇到问题。

我的设置:

  • 使用 Ubuntu 24.04 的 Hetzner VPS。 LTS 和 Docker
  • 我做了基本的服务器强化(更新了 ubuntu、限制 ssh root 访问、更改了 ssh 端口、设置了 Fail2Ban)
  • 我还没有碰过
    iptables
    /
    nftables
    (见下面的截图),Hetzner 云控制台中没有活动的防火墙
  • 我购买了一个域名并在 Hetzner DNS 控制台中更改了 DNS 设置(两个 A 和两个 AAAA 条目)(见下图)。当我为我的域运行
    nslookup
    时(例如
    nslookup example.com
  • ,我等了一天,现在在本地计算机上获得了正确的 IP 地址
  • Docker 在 Ubuntu 服务器上运行,并使用官方 nginx 镜像 (
    docker run -it --rm -d -p 8080:80 nginx
    )
  • 我可以从本地计算机
    ping
    域并使用
    tcpdump ip proto \\icmp
  • 查看我的 Ubuntu 服务器上的匹配日志

我的问题:

我无法连接到我的服务器的8080端口,无法看到nginx的标准欢迎页面。

  • curl example.com
    对于 IPv4 返回
    Connection refused
    ,对于 IPv6
     返回 
    Network is unreachable
  • 邮递员返回
    Error: connect ECONNREFUSED
    接听电话
    GET examlpe.com
  • 浏览器(Firefox 129.0.2)无法加载页面,开发者工具显示错误
    NS_ERROR_CONNECTION_REFUSED

我错过了什么吗?如何进一步调试这个问题?

编辑:正在寻找解决方案?

我已经发现两个错误:

  1. 我的 Hetzner 云控制台中没有防火墙。在没有防火墙的情况下,Hetzner 会阻止所有入站流量。所以我添加了防火墙并允许 http、https 和 ssh 端口。
  2. 我的 IPv6 地址的 DNS 条目错误。我使用(示例地址)2222:2222:2222:2222::(错误)而不是 2222:2222:2222:2222::1(正确)。

截图

iptables

nftables

hetzner DNS console entries

hetzner dns entry (textfile)

ubuntu curl dns iptables nftables
1个回答
0
投票

我发现问题了:

  1. 我的 Hetzner 云控制台中没有防火墙。在没有防火墙的情况下,Hetzner 会阻止所有入站流量。所以我添加了防火墙并允许 http、https 和 ssh 端口。
  2. 我的 IPv6 地址的 DNS 条目错误。我使用(示例地址)2222:2222:2222:2222::(错误)而不是 2222:2222:2222:2222::1(正确)。
  3. 我将 docker 端口的映射更改为 80 而不是 8080(docker run -it --rm -d -p 80:80 nginx)。

感谢 reddit 用户 u/namesisfortombstones 提供一些有用的提示

现在我终于可以从浏览器中看到 nginx 欢迎页面了。

© www.soinside.com 2019 - 2024. All rights reserved.