Я пишу приложение Node.js с открытым исходным кодом, которое реализует HTTP-сервер для вызовов API. Поддерживать HTTPS в Node.js не сложно, но это добавляет немного сложности и случаев, о которых вам нужно подумать:
- Путь к ключу и сертификат должен быть настраиваемым => Дополнительные настройки / документация
- Приложение должно обрабатывать ошибки, если ключ и сертификат отсутствуют или неправильный путь => Дополнительный код и тест
- Образ Docker должен передать внешний ключ и сертификат приложению, запущенному в контейнере => Дополнительный код и документация
Это похоже на изобретение колеса. Я лично использую обратный прокси-сервер, который обрабатывает HTTPS-часть всех моих сайтов. Все серверы в фоновом режиме - только HTTP.
Можно ли требовать обратный прокси-сервер или лучше поддерживать HTTPS напрямую, поскольку большинство пользователей не используют обратный прокси-сервер? Каковы общие настройки сервера и рекомендуемый способ при написании приложения Node.js с открытым исходным кодом? Как сделать так, чтобы большинству пользователей было проще использовать мое приложение?