一个奇怪的 80 端口问题.

11次阅读

共计 686 个字符,预计需要花费 2 分钟才能阅读完成。

最近迁移某些容器到新的 Docker 网络, 但随后发现一个问题, 具有下列特征:

  1. 只有 IPv4 的 80 端口不通 (但是群晖自身通过 SSH + curl 可以访问), IPv6 的可以;
  2. 443 端口在忽略证书错误的情况下, IPv4 & IPv6 都可以访问;
  3. 如果该容器的 80 端口被一个 Nginx 反向代理到一个非标准端口, 则可以正常通过 Nginx 的 IP + 非标准端口访问原 80 端口的内容;
  4. 如果用该网络的网关地址 (192.168.3.1) 访问群晖, 则 80 端口也不通 (但使用 http://192.168.0.100:80 访问群晖则没有问题).

网络细节:

  1. Docker 是群晖上的;
  2. 该网络的网关地址为 192.168.3.1, 如果带上 5000/5001 端口则访问它相当于访问群晖;
  3. 该网络在路由器上添加了一个静态路由条目 (仅 IPv4), 以便位于 192.168.0.0/24 上的机器访问, 如下图所示:
    一个奇怪的 80 端口问题.
  4. 有独立的 内网 IPv4 地址: 192.168.3.0/24;
  5. 有独立的 公网 IPv6 地址: ????:????:????:????:c0a:890b::/96 (前 64 位不便展示, 后 32 位为随机分配);
  6. 该网络使用如下命令创建:
docker network create 
    -d macvlan 
    --subnet=192.168.3.0/24 
    --gateway=192.168.3.1 
    --ip-range=192.168.3.2/24 
    --ipv6 
    --subnet= 
    --gateway= 
    -o parent=ovs_eth0 
    -o macvlanmode=bridge 
    <网络名称>

具体的访问故障我做了一个表格.
一个奇怪的 80 端口问题.

尚未发现影响日常使用, 但还是想尝试解决.
上述可能缺少关键信息.

正文完
 0