V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zzzkkk
V2EX  ›  Linux

搞了 caddy 后 httpd 只能绑定到 ipv6 怎么回事?

  •  
  •   zzzkkk · 2022-12-08 21:58:08 +08:00 · 2744 次点击
    这是一个创建于 735 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天在搞 caddy 按照下面操作的

    https://github.com/klzgrad/naiveproxy/wiki/%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87

    最后启动 caddy 发现 只能绑定到 ipv6 的 443 端口 导致 naiveproxy 客户端无法访问到

    后来把 caddy 停了 重新启动 httpd 发现 httpd 也只能绑定到 ipv6 的 443 端口了 netstat 输出没有 ipv4

    [root@racknerd-a39015 ~]# netstat -tlnp|grep 443

    tcp6 0 0 :::443 :::* LISTEN 6558/httpd

    12 条回复    2022-12-09 20:39:35 +08:00
    ThirdFlame
        1
    ThirdFlame  
       2022-12-08 22:14:05 +08:00
    实际上为同时监听了 v4 和 v6 就会这样显示。
    你可以试试 curl 127.0.0.1:443 是通的
    zzzkkk
        2
    zzzkkk  
    OP
       2022-12-08 22:36:32 +08:00
    还有个服务监听 8888 是这样的 反正 443 端口现在从外面连不上了


    [root@racknerd-a39015 ~]# netstat -tlnp|grep 8888



    tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 1254/stunnel
    zzzkkk
        3
    zzzkkk  
    OP
       2022-12-08 22:50:35 +08:00
    ssh 端口是这样的 刚才 vps 重启后都没用

    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 876/sshd


    tcp6 0 0 :::22 :::* LISTEN 876/sshd
    tinkerer
        4
    tinkerer  
       2022-12-08 23:16:22 +08:00
    https://github.com/nodejs/node/issues/9390

    不然你看一下 `cat /proc/sys/net/ipv6/bindv6only` 的输出?
    zzzkkk
        5
    zzzkkk  
    OP
       2022-12-08 23:22:00 +08:00 via Android
    @tinkerer
    该文件内容为 0
    tinkerer
        6
    tinkerer  
       2022-12-08 23:34:50 +08:00
    @zzzkkk 那应该表示 [::]:443 可以等效于同时监听了 0.0.0.0:443, 如果你确实不需要 ipv6 或者想排查问题,可以先禁用 ipv6 看看

    sysctl -w net.ipv6.conf.all.disable_ipv6=1
    sysctl -w net.ipv6.conf.default.disable_ipv6=1
    sysctl -w net.ipv6.conf.lo.disable_ipv6=0

    前两条是用来禁用 ipv6, 最后后一条是不禁用 lo 上的 ipv6
    zzzkkk
        7
    zzzkkk  
    OP
       2022-12-09 12:44:43 +08:00
    @tinkerer
    谢谢大佬
    这样搞了后 启动 httpd 正常了 监听在了 0.0.0.0 显示的是 tcp
    但启动 caddy 还是监听在::: 显示的是 tcp6
    zzzkkk
        8
    zzzkkk  
    OP
       2022-12-09 13:03:29 +08:00
    @ThirdFlame

    实际上为同时监听了 v4 和 v6 就会这样显示。
    你可以试试 curl 127.0.0.1:443 是通的

    现在发现 的确监听了 ipv4 的 8443 端口
    只是现在 naiveproxy 显示

    [1209/130201.101:INFO:naive_proxy.cc(192)] Connection 42 closed: ERR_PROXY_CONNECTION_FAILED


    [1209/130201.114:ERROR:ssl_client_socket_impl.cc(982)] handshake failed; returned -1, SSL error code 1, net_error -107
    tinkerer
        9
    tinkerer  
       2022-12-09 20:27:09 +08:00
    @zzzkkk 你的 Caddy 配置写的 0.0.0.0:443 么?
    zzzkkk
        10
    zzzkkk  
    OP
       2022-12-09 20:32:36 +08:00
    @tinkerer
    哎 今天才发现了 一定要 443 别的端口不行
    tinkerer
        11
    tinkerer  
       2022-12-09 20:37:20 +08:00
    @zzzkkk 解决了?
    zzzkkk
        12
    zzzkkk  
    OP
       2022-12-09 20:39:35 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   864 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 21:38 · PVG 05:38 · LAX 13:38 · JFK 16:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.