Ubuntu

以非 root 身份通過 systemd 啟動服務以綁定埠 80、443

  • January 23, 2020

我在我的 ubuntu 18.04 無頭伺服器上以 root 身份執行 tomcat。就像在 apache 或 nginx 中一樣,您可以使用 systemd 以非 root 使用者身份啟動服務,並且只有 root 使用者會啟動主程序來綁定埠 80 和 443。所以我將為我的 tomcat 使用 apache 和 nginx 等相同的啟動程序。將使用者和組添加為 tomcat(無超級使用者)並創建 tomcat.service 後,我還需要什麼配置???

如果有人能幫助我,我將非常感激。

黑鬍子

大多數服務在埠 >1024 上配置為預設值。有幾個原因…

您嘗試集中註意力的方式是可能的,但它可能會導致一些未來的步驟需要(至少在一段時間內需要 root 訪問權限來進行更改)……但我不能說這是錯誤的;)。

請不要為替代解決方案投票給我(因為它不是問題的直接答案)。將服務保持在預設 >1024 埠並設置反向代理(haproxy、nginx、apache http 等 - 無論您熟悉什麼)以接受 80 和/或 443 上的連接並有條件(SNI)或無條件代理流量怎麼樣到應用程序預設埠?副作用是您可以在主機上的更多服務之間“共享”80/443。

引用自:https://serverfault.com/questions/1000080