是否可以/建议通过 Nginx for https 注册和更新 Let's Encrypt 证书,并在同一域上的 websocket 连接 (wss://) 上共享相同的证书?websocket 服务器正在运行 node.js(具体来说是 Colyseus - 它内置了 Express)
如果没有,是否值得将 Nginx 设置为 websocket 服务器前面的反向代理并以这种方式设置证书?
最后,如果只使用一个证书并与 websocket 服务器共享是个好主意,那么当 certbot 更新证书时让 Express 重新加载文件的最佳方法是什么?certbot 可以通知服务器它更新了证书吗?或者文件是否需要重新加载
可能但不可取:可取的方法是在前面使用行业标准的 Web 服务器作为反向代理,其中排名第一的是 nginx。但是,haproxy 也可以作为其中之一。
是的,这是推荐的方法。因为,再一次,您通常不会运行直接绑定到 HTTP/HTTPS 端口的特殊应用程序:这会禁止您使用各种类型的重要功能。证书续订时的无缝重新加载就是其中之一。
基本上你只需运行
certbot renew
(crond为你运行它)并告诉 nginx 用nginx -s reload
.我不知道这一点,但无论如何都不需要这种机制 - 使用 LE 证书,这应该在 3 个月内只发生一次,所以......
他们当然会。它们怎么可能不是 - 它们只在网络服务器启动时加载一次。