Có thể / nên đăng ký và gia hạn Let's Encrypt
chứng chỉ thông qua Nginx cho https và chia sẻ cùng chứng chỉ đó
trên một kết nối websocket (wss://) trên cùng một miền? ổ cắm web
máy chủ đang chạy khỏi node.js (cụ thể là Colyseus - cái nào
đã tích hợp sẵn Express)
Có thể nhưng không nên: phương pháp được khuyến nghị là sử dụng máy chủ web tiêu chuẩn công nghiệp làm proxy ngược và số một trong số đó là nginx tại thời điểm đưa ra câu trả lời này. Tuy nhiên, haproxy cũng có thể hoạt động như một.
Nếu không, có đáng để đặt Nginx làm proxy ngược trước máy chủ websocket và đặt chứng chỉ theo cách đó không?
Vâng, đó là một cách tiếp cận được đề xuất. Bởi vì, một lần nữa, bạn không thường chạy các ứng dụng đặc biệt được liên kết trực tiếp với cổng HTTP/HTTPS: điều này ngăn cản bạn thực hiện nhiều loại chức năng quan trọng khác nhau. Tải lại liền mạch khi gia hạn chứng chỉ là một trong số đó.
Và cuối cùng, nếu bạn chỉ nên sử dụng một chứng chỉ và chia sẻ nó với máy chủ websocket, thì cách tốt nhất để Express tải lại các tệp khi certbot gia hạn chứng chỉ là gì?
Về cơ bản bạn chỉ cần chạy gia hạn certbot
(crond chạy nó cho bạn) và chỉ cần yêu cầu nginx làm mới nó với nginx -s tải lại
.
certbot có thể thông báo cho máy chủ rằng nó đã cập nhật chứng chỉ không?
Tôi không biết về điều này, nhưng dù sao thì cơ chế này cũng không thực sự cần thiết - với chứng chỉ LE, điều này chỉ xảy ra một lần trong 3 tháng, vì vậy ...
Hay là phải tải lại các tập tin
Chắc chắn họ làm. Làm sao có thể không được - chúng chỉ được tải một lần khi bắt đầu máy chủ web.