Сервер Caddy не запускался и отображал эту ошибку после обновления до v0.9.3:
listen tcp :443: bind: permission denied
Я запускал caddy с systemd как пользователь caddy
. Я проверил, что двоичный файл на самом деле принадлежит caddy
.
Это не проблема с кэдди и не проблема с разрешениями пользователя. Linux по умолчанию не позволяет процессам прослушивать порты низкого уровня.
Чтобы предоставить доступ:
sudo setcap CAP_NET_BIND_SERVICE=+eip $(which caddy)
источник: суперпользователь: разрешить некорневому процессу связываться с портами 80 и 443?
Если вы используете systemd v229 или новее, вы можете сделать это, не предоставляя двоичные возможности внутренне:
AmbientCapabilities=CAP_NET_BIND_SERVICE