Lets-proxy
После некоторой работы с выписыванием сертификатов от Lets encrypt (в т.ч. написанием собственных утилит для массовой работы с доменами) я заметил, что они все (в т.ч. своё) требуют неочевидных настроек для начала работы. Тут мне пришла в голову мысль написать программу для работы с lets encrypt, которая настроек требовать не будет.
И вот результат: Lets-proxy, написан на Go.
Доступны исходники и скопилированные бинарники под основные платформы где это может потребоваться (windows,linux,freebsd).
У проекта есть вики с доп. описанием функционала.
Для начала работы с https в большинстве случаев достаточно просто запустить программу, никаких настроек делать не надо (но при необходимости - можно).
При запуске без параметров программа будет слушать 443 порт на всех локальных IP-адресах и при получении запроса сама выписывать через Lets encrypt валидный сертификат и дальше проксировать запрос на тот же IP-адрес порт 80 (стартандный http-сервер). При устаревании сертификатов они будут автоматически обновляться.
При добавлении/удалении доменов ничего править не придётся - сертификаты выписываются автоматически.
Единственное требование - клиентское ПО, которое осуществляет запрос должно поддерживать работу со SNI (много сертификатов на одном IP-адресе). Это нужно чтобы сервер понял к какому домену происходит обращение до начала шифрования.
Все современные браузеры этот режим поддерживают.