與同一域上的節點 websocket 連接共享 Let’s Encrypt 證書?可能的?可取的?
是否可以/建議通過 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 renew
(crond為你執行它)並告訴 nginx 用nginx -s reload
.certbot 可以通知伺服器它更新了證書嗎?
我不知道這一點,但無論如何都不需要這種機制 - 使用 LE 證書,這應該在 3 個月內只發生一次,所以……
或者文件是否需要重新載入
他們當然會。它們怎麼可能不是 - 它們只在網路伺服器啟動時載入一次。