Lets-proxy

После некоторой работы с выписыванием сертификатов от Lets encrypt (в т.ч. написанием собственных утилит для массовой работы с доменами) я заметил, что они все (в т.ч. своё) требуют неочевидных настроек для начала работы. Тут мне пришла в голову мысль написать программу для работы с lets encrypt, которая настроек требовать не будет.

И вот результат: https://github.com/rekby/lets-proxy

Доступны исходники и скопилированные бинарники под основные платформы где это может потребоваться (windows,linux,freebsd).

Для начала работы с https в большинстве случаев достаточно просто запустить программу, никаких настроек делать не надо (но при необходимости – можно).

При запуске без параметров программа будет слушать 443 порт на всех локальных IP-адресах и при получении запроса сама выписывать через Lets encrypt валидный сертификат и дальше проксировать запрос на тот же IP-адрес порт 80 (стартандный http-сервер). При устаревании сертификатов они будут автоматически обновляться.

При добавлении/удалении доменов ничего править не придётся – сертификаты выписываются автоматически.

Единственное требование – клиентское ПО, которое осуществляет запрос должно поддерживать работу со SNI (много сертификатов на одном IP-адресе). Это нужно чтобы сервер понял к какому домену происходит обращение до начала шифрования.

Все современные браузеры этот режим поддерживают.

7 комментариев на «“Lets-proxy”»

  1. Пока только в режиме TCP, т.е. без добавления служебных заголовков вроде того что запрос проксирован и IP-адреса, с которого запрос пришел на самом деле.

  2. Не совсем понятно – написано, что запускать так: "./lets-proxy", однако этого файла нет, только куча файлов go.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *