Рейтинг:0

Совместное использование сертификата Let's Encrypt с подключением узла через веб-сокет в том же домене? Возможное? Целесообразно?

флаг us
Jon

Возможно/рекомендуется ли зарегистрировать и обновить сертификат Let's Encrypt через Nginx для https и использовать этот же сертификат для подключения к веб-сокету (wss://) в том же домене? Сервер веб-сокетов запускается с помощью node.js (в частности, Colyseus, в который встроен Express)

Если нет, то стоит ли устанавливать Nginx в качестве обратного прокси-сервера перед сервером веб-сокетов и устанавливать таким образом сертификаты?

И, наконец, если использовать один сертификат и поделиться им с сервером веб-сокетов — это хорошая идея, как лучше всего заставить Express перезагружать файлы, когда certbot обновляет сертификат? Может ли certbot сообщить серверу, что он обновил сертификаты? Или файлы вообще нужно перезагружать?

Рейтинг:2
флаг za

Можно/целесообразна ли регистрация и продление Let's Encrypt сертификат через Nginx для https и поделиться этим же сертификатом при подключении через веб-сокет (wss://) в том же домене? Веб-сокет сервер работает с node.js (если быть точным, Colyseus - который имеет встроенный экспресс)

Возможно, но не рекомендуется: рекомендуемый подход — использовать стандартный веб-сервер в качестве обратного прокси-сервера, и номер один среди них — nginx на момент этого ответа. Однако haproxy также может выступать в качестве одного из них.

Если нет, то стоит ли устанавливать Nginx в качестве обратного прокси-сервера перед сервером веб-сокетов и устанавливать таким образом сертификаты?

Да, это рекомендуемый подход. Потому что, опять же, вы обычно не запускаете специальные приложения, привязанные к порту HTTP/HTTPS напрямую: это запрещает вам использовать различные типы важных функций. Одним из них является бесшовная перезагрузка при обновлении сертификата.

И, наконец, если использовать один сертификат и поделиться им с сервером веб-сокетов — это хорошая идея, как лучше всего заставить Express перезагружать файлы, когда certbot обновляет сертификат?

В основном вы просто бежите certbot возобновить (кронд запускает его для вас) и просто скажите nginx обновить его с помощью nginx -s перезагрузить.

Может ли certbot сообщить серверу, что он обновил сертификаты?

Я об этом не в курсе, но этот механизм все равно особо не нужен - с LE-сертификатами это должно происходить только раз в 3 месяца, так что...

Или файлы вообще нужно перезагружать?

Конечно, они делают. Как же их не быть - они загружаются только один раз при старте веб-сервера.

флаг us
Jon
Спасибо за ответ. У меня есть еще один вопрос: использование nginx в качестве обратного прокси-сервера добавит задержку или увеличение размера пакета на/с моего сервера веб-сокетов? Сервер ws предназначен для игр, в которых задержка даже на 50 мс будет плохой. Также для записи я работал и планировал продолжать запускать сервер ws на порту 2537 (iirc, определенно не порт 80)
drookie avatar
флаг za
Это наверняка добавит некоторую дополнительную задержку, но мы говорим о задержке около миллисекунды или ее доли. Чтобы добавить миллисекундную задержку в 50 мс, ваш обратный прокси-сервер должен находиться в другом центре обработки данных за несколько тысяч километров от вашего экземпляра node.js.
drookie avatar
флаг za
И с размером пакета ничего не случится. Он будет фактически того же размера. :)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.