170 похожих чатов

Всем привет. Кто то в курсе, есть готовые решения веб-сервера

на Go типа nginx'a? С возможностью проксировать запросы на разные хосты, добавлять каждому хосту свой сертификат и все это дело держать на одном порту? А то в реализации ListenAndServeTLS пакета http можно один сервер поднять на одном порту (с разными хостами, да) и только одним переданным ему сертификатом. Ну либо http.Server запускать, передавать через tlsconfig разные сертификаты и сервер сам будет рулить какому домену какой сертификат соответствует, но это не подходит

13 ответов

22 просмотра

Может это https://github.com/traefik/traefik

А зачем? Есть же nginx

Alexey Shumkin
А зачем? Есть же nginx

Не очень на современные devops практики удобно ложится.

Alexey Shumkin
А чем именно неудобно?

Банальной необходимостью править конфиги из текстовых файлов, делать reload с предварительными проверками синтаксиса. И особенно необходимостью иметь файлы с сертификатами ДО того, как они внесены в конфигурацию. Что придаёт некоторый шарм ситуации "let's encrypt выдаёт сертификат, постучавшись для проверки на nginx, которому уже нужен был сертификат чтобы проверяемый домен в конфиге прописать". И ты либо городишь огород с самоподписанными сертификатами на время получения настоящих и голым http-challenge. Либо два раза нужно править конфиг и два раза передергивать nginx - сначала добавить домен без ssl вообще, затем получить сертификат (опять же по голому http-challenge) и только потом дописать https блок конфигурации домена. Короче говоря, то ещё удовольствие новые домены с https за nginx балансировщиком разворачивать. Он крутой, но чрезмерно олдовый в подходах к конфигурированию.

sexxst
Банальной необходимостью править конфиги из тексто...

Я правильно понимаю, что вместо прозрачности текстовых конфигов nginx-а тебе больше импонирует чёрный ящик чего-то автоматического (которое "всё делает само")? Про самоподписанные серты не понял, ибо летсинкрипт их всё равно не примет ..

sexxst
Банальной необходимостью править конфиги из тексто...

И, кстати, как эта же проблема с сертами решается другими серверами?

Alexey Shumkin
И, кстати, как эта же проблема с сертами решается ...

проблема решается получением нового сертификата до истечения старого.

Alexey Shumkin
Я правильно понимаю, что вместо прозрачности текст...

Let encrypt никакие сертификаты и не принимает, он их выдаёт. Конфиги прозрачные у всех, а service-discovery у нормального софта работает вполне себе по четкому алгоритму и предсказуем. Каким раком к открытому и документированному софту вообще применимо понятия черного ящика я вообще не представляю даже.

Alexey Shumkin
И, кстати, как эта же проблема с сертами решается ...

Другие сервера могут не требовать наличия файлов, содержащих что-то похожее на какие-то сертификаты и ключи просто для того, чтобы в принципе запуститься. Могут при запуске проверить наличие сертификатов и сходить в le попросить их выдать как вариант.

Sergey
проблема решается получением нового сертификата до...

Не, тут проблема не в истечении тут проблема в том, что для нового добавляемого домена с ssl нужно в конфиге путь до сертификатов указывать. А прописанные файлы должны в принципе существовать и содержать что-то, что сойдёт за сертификаты и ключи.

Roman Timofeev
Есть же dns challenge

Есть, но не всегда оно применимо без ещё больших сложностей. Иногда даже административного характера.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта