Nginx

與同一域上的節點 websocket 連接共享 Let’s Encrypt 證書?可能的?可取的?

  • March 19, 2022

是否可以/建議通過 Nginx for https 註冊和更新 Let’s Encrypt 證書,並在同一域上的 websocket 連接 (wss://) 上共享相同的證書?websocket 伺服器正在執行 node.js(具體來說是 Colyseus - 它內置了 Express)

如果沒有,是否值得將 Nginx 設置為 websocket 伺服器前面的反向代理並以這種方式設置證書?

最後,如果只使用一個證書並與 websocket 伺服器共享是個好主意,那麼當 certbot 更新證書時讓 Express 重新載入文件的最佳方法是什麼?certbot 可以通知伺服器它更新了證書嗎?或者文件是否需要重新載入

是否可以/建議通過 Nginx for https 註冊和更新 Let’s Encrypt 證書,並在同一域上的 websocket 連接 (wss://) 上共享相同的證書?websocket 伺服器正在執行 node.js(具體來說是 Colyseus - 它內置了 Express)

可能但不可取:可取的方法是在前面使用行業標準的 Web 伺服器作為反向代理,其中排名第一的是 nginx。但是,haproxy 也可以作為其中之一。

如果沒有,是否值得將 Nginx 設置為 websocket 伺服器前面的反向代理並以這種方式設置證書?

是的,這是推薦的方法。因為,再一次,您通常不會執行直接綁定到 HTTP/HTTPS 埠的特殊應用程序:這會禁止您使用各種類型的重要功能。證書續訂時的無縫重新載入就是其中之一。

最後,如果只使用一個證書並與 websocket 伺服器共享是個好主意,那麼當 certbot 更新證書時讓 Express 重新載入文件的最佳方法是什麼?

基本上你只需執行certbot renewcrond為你執行它)並告訴 nginx 用nginx -s reload.

certbot 可以通知伺服器它更新了證書嗎?

我不知道這一點,但無論如何都不需要這種機制 - 使用 LE 證書,這應該在 3 個月內只發生一次,所以……

或者文件是否需要重新載入

他們當然會。它們怎麼可能不是 - 它們只在網路伺服器啟動時載入一次。

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