V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
YamatoRyou
V2EX  ›  Docker

一个奇怪的 80 端口问题.

  •  
  •   YamatoRyou · 160 天前 · 812 次点击
    这是一个创建于 160 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近迁移某些容器到新的 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 上的机器访问, 如下图所示:
    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=<IPv6 子网前缀> \
        --gateway=<IPv6 网关, 默认为 ????:????:????:????:c0a:890b::1> \
        -o parent=ovs_eth0 \
        -o macvlanmode=bridge \
        <网络名称>
    

    具体的访问故障我做了一个表格.

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

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2599 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 10:37 · PVG 18:37 · LAX 02:37 · JFK 05:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.