на Go типа nginx'a? С возможностью проксировать запросы на разные хосты, добавлять каждому хосту свой сертификат и все это дело держать на одном порту? А то в реализации ListenAndServeTLS пакета http можно один сервер поднять на одном порту (с разными хостами, да) и только одним переданным ему сертификатом. Ну либо http.Server запускать, передавать через tlsconfig разные сертификаты и сервер сам будет рулить какому домену какой сертификат соответствует, но это не подходит
Может это https://github.com/traefik/traefik
А зачем? Есть же nginx
Не очень на современные devops практики удобно ложится.
А чем именно неудобно?
Банальной необходимостью править конфиги из текстовых файлов, делать reload с предварительными проверками синтаксиса. И особенно необходимостью иметь файлы с сертификатами ДО того, как они внесены в конфигурацию. Что придаёт некоторый шарм ситуации "let's encrypt выдаёт сертификат, постучавшись для проверки на nginx, которому уже нужен был сертификат чтобы проверяемый домен в конфиге прописать". И ты либо городишь огород с самоподписанными сертификатами на время получения настоящих и голым http-challenge. Либо два раза нужно править конфиг и два раза передергивать nginx - сначала добавить домен без ssl вообще, затем получить сертификат (опять же по голому http-challenge) и только потом дописать https блок конфигурации домена. Короче говоря, то ещё удовольствие новые домены с https за nginx балансировщиком разворачивать. Он крутой, но чрезмерно олдовый в подходах к конфигурированию.
Я правильно понимаю, что вместо прозрачности текстовых конфигов nginx-а тебе больше импонирует чёрный ящик чего-то автоматического (которое "всё делает само")? Про самоподписанные серты не понял, ибо летсинкрипт их всё равно не примет ..
И, кстати, как эта же проблема с сертами решается другими серверами?
проблема решается получением нового сертификата до истечения старого.
Let encrypt никакие сертификаты и не принимает, он их выдаёт. Конфиги прозрачные у всех, а service-discovery у нормального софта работает вполне себе по четкому алгоритму и предсказуем. Каким раком к открытому и документированному софту вообще применимо понятия черного ящика я вообще не представляю даже.
Другие сервера могут не требовать наличия файлов, содержащих что-то похожее на какие-то сертификаты и ключи просто для того, чтобы в принципе запуститься. Могут при запуске проверить наличие сертификатов и сходить в le попросить их выдать как вариант.
Не, тут проблема не в истечении тут проблема в том, что для нового добавляемого домена с ssl нужно в конфиге путь до сертификатов указывать. А прописанные файлы должны в принципе существовать и содержать что-то, что сойдёт за сертификаты и ключи.
Есть же dns challenge
Есть, но не всегда оно применимо без ещё больших сложностей. Иногда даже административного характера.
Обсуждают сегодня