You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Caddy配置8090端口却尝试监听80端口,权限被拒如何解决?

问题原因

Caddy默认会自动启用HTTP到HTTPS的重定向功能。当你配置localhost:8090时,Caddy会默认将这个端口视为HTTPS服务端口(针对localhost会自动生成本地证书),因此它会尝试监听80端口,用来接收HTTP请求并将其重定向到8090的HTTPS服务,这就是出现80端口绑定权限报错的原因。

解决方法

提供三种可行的解决方式:

方式一:禁用自动HTTP->HTTPS重定向

直接在Caddyfile中关闭自动重定向功能,修改后的配置如下:

localhost:8090
auto_https off
# log log/access.log
# tls sec/cert.pem sec/key.pem

方式二:赋予Caddy监听80端口的权限

如果需要保留自动重定向功能,需要让Caddy拥有监听80端口(低于1024的端口需特殊权限)的权限:

  • 以root权限启动Caddy:sudo caddy run
  • 或者给Caddy添加cap_net_bind_service权限(仅Linux系统):
    sudo setcap cap_net_bind_service=+ep /path/to/caddy
    
    替换/path/to/caddy为你的Caddy可执行文件实际路径。

方式三:自定义HTTP重定向端口

若想保留重定向逻辑但不想使用80端口,可以手动配置HTTP服务器和重定向规则,比如将HTTP端口设为8080,重定向到8090:

localhost:8090 {
    # 你的应用服务配置
}

localhost:8080 {
    redir https://localhost:8090{uri}
}

内容的提问来源于stack exchange,提问作者Marco C. Stewart

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 15:57:13