球童“听 tcp :443:绑定:权限被拒绝”

Kei*_*ith 15 permissions

升级到 v0.9.3 后,Caddy 服务器无法启动并显示此错误:

listen tcp :443: bind: permission denied
Run Code Online (Sandbox Code Playgroud)

我正在使用 systemd 作为用户运行球童caddy。我检查了二进制文件实际上是由caddy.

Kei*_*ith 23

这不是球童问题,也不是用户权限问题。默认情况下,Linux 不允许进程侦听低级端口。

要授予访问权限:

sudo setcap CAP_NET_BIND_SERVICE=+eip $(which caddy)
Run Code Online (Sandbox Code Playgroud)

来源:超级用户:允许非 root 进程绑定到端口 80 和 443?


Des*_*son 9

如果您正在运行 systemd v229 或更高版本,则可以在不提供二进制功能的情况下执行此操作:

AmbientCapabilities=CAP_NET_BIND_SERVICE
Run Code Online (Sandbox Code Playgroud)