V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zzzkkk
V2EX  ›  Linux

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

  •  
  •   zzzkkk · Dec 8, 2022 · 3447 views
    This topic created in 1238 days ago, the information mentioned may be changed or developed.

    今天在搞 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 replies    2022-12-09 20:39:35 +08:00
    ThirdFlame
        1
    ThirdFlame  
       Dec 8, 2022
    实际上为同时监听了 v4 和 v6 就会这样显示。
    你可以试试 curl 127.0.0.1:443 是通的
    zzzkkk
        2
    zzzkkk  
    OP
       Dec 8, 2022
    还有个服务监听 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
       Dec 8, 2022
    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  
       Dec 8, 2022
    https://github.com/nodejs/node/issues/9390

    不然你看一下 `cat /proc/sys/net/ipv6/bindv6only` 的输出?
    zzzkkk
        5
    zzzkkk  
    OP
       Dec 8, 2022 via Android
    @tinkerer
    该文件内容为 0
    tinkerer
        6
    tinkerer  
       Dec 8, 2022
    @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
       Dec 9, 2022
    @tinkerer
    谢谢大佬
    这样搞了后 启动 httpd 正常了 监听在了 0.0.0.0 显示的是 tcp
    但启动 caddy 还是监听在::: 显示的是 tcp6
    zzzkkk
        8
    zzzkkk  
    OP
       Dec 9, 2022
    @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  
       Dec 9, 2022
    @zzzkkk 你的 Caddy 配置写的 0.0.0.0:443 么?
    zzzkkk
        10
    zzzkkk  
    OP
       Dec 9, 2022
    @tinkerer
    哎 今天才发现了 一定要 443 别的端口不行
    tinkerer
        11
    tinkerer  
       Dec 9, 2022
    @zzzkkk 解决了?
    zzzkkk
        12
    zzzkkk  
    OP
       Dec 9, 2022
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   984 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 21:55 · PVG 05:55 · LAX 14:55 · JFK 17:55
    ♥ Do have faith in what you're doing.