以非 root 身份通过 systemd 启动服务以绑定端口 80、443

以非 root 身份通过 systemd 启动服务以绑定端口 80、443

我以 root 身份在我的 ubuntu 18.04 无头服务器上运行 tomcat。就像在 apache 或 nginx 中一样,您可以使用 systemd 以非 root 身份启动服务,并且只有 root 才能启动主进程来绑定端口 80 和 443。因此,我将对我的 tomcat 使用与 apache&nginx 相同的启动过程。将用户和组添加为 tomcat(无超级用户)并创建 tomcat.service 后,我还需要配置什么???

如果有人能帮助我,我将非常感激。

黑胡子

答案1

大多数服务在端口 >1024 上配置为默认服务。原因如下...

您尝试集中注意力的方式是可行的,但它可能会导致一些未来的步骤需要(至少在一段时间内需要根访问权限才能进行更改)......但我不能说它是错误的;)。

请不要因为替代解决方案而反对我(因为它不是问题的直接答案)。那么将服务保持在默认的 >1024 端口上并设置反向代理(haproxy、nginx、apache http 等 - 无论您熟悉什么)以接受 80 和/或 443 上的连接并有条件地(SNI)或无条件地将流量代理到应用程序默认端口怎么样?副作用是您可以在主机上的更多服务之间“共享” 80/443。

相关内容