URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 108608
[ Назад ]

Исходное сообщение
"Доступен HTTP-сервер Caddy 0.9"

Отправлено opennews , 20-Июл-16 11:36 
Доступен (https://caddyserver.com/blog/caddy-0_9-released) выпуск http-сервера Caddy 0.9 (https://caddyserver.com/), примечательного поставкой в виде обособленного исполняемого файла без зависимостей (не требует даже libc) и поддержкой автоматической настройки HTTPS (получение сертификатов автоматизировано через сервис Let’s Encrypt). Код проекта написан (https://github.com/mholt/caddy) на языке Go  и поставляется под лицензией Apache 2.0.


В отличие от http-серверов, ориентированных на производительность или функциональность, Caddy пытается максимально упростить и автоматизировать настройку, обеспечив при этом должный уровень безопасности. Caddy позиционируется как  решение для web-разработки и быстрого развёртывания web-сайтов, не требующее для запуска особых технических знаний и предоставляющее возможность обслуживания сайтов дизайнерами, блоггерами и авторами контента, без привлечения администраторов и технического персонала.


Сервер также поддерживает HTTP/2 и сетевой протокол QUIC (https://www.opennet.ru/opennews/art.shtml?num=42063) (Quick UDP Internet Connections), виртуальные хосты (в том числе TLS SNI), ротацию сессионных TLS-ключей, применяет по умолчанию HTTPS, позволяет формировать динамический контент через шаблоны (https://caddyserver.com/docs/template-actions), которые напоминают SSI. Для подключения полноценных обработчиков динамического контента, например, проектов на PHP, предлагается использовать FastCGI (https://caddyserver.com/docs/fastcgi). Настройка осуществляется через простой формат конфигурации caddyfile (https://caddyserver.com/docs/caddyfile). В будущем ожидается поддержка REST API для удалённого управления и конфигурационный web-интерфейс (на разработку данных возможностей уже получено (https://www.opennet.ru/opennews/art.shtml?num=44648) финансирование от проекта Mozilla).


Из доступных модулей-расширений можно отметить систему ограничения доступа ipfilter (https://github.com/pyed/ipfilter), файловый менеджер (https://caddyserver.com/docs/filemanager),  систему клонирования (https://caddyserver.com/docs/git) содержимого сайта из git-репозиториев, модуль для организации загрузки файлов (https://caddyserver.com/docs/upload), средство для интеграции (https://caddyserver.com/docs/search) поискового движка bleve (http://blevesearch.com/), систему мониторинга (https://caddyserver.com/docs/prometheus), фильтр для автоматической упаковки (https://caddyserver.com/docs/minify) css/javacript/html, генератор сайтов hugo (https://caddyserver.com/docs/hugo),  поддержку JWT (https://caddyserver.com/docs/jwt) (JSON Web Tokens) и JSONP (https://ru.wikipedia.org/wiki/JSONP).


Новый выпуск примечателен полной переработкой основной архитектуры проекта и реализации TLS. Вместо дополнений теперь предлагается модель расширения функциональности через плагины, через которые теперь реализованы практически все компоненты Caddy, включая HTTP-сервер. Плагины позволяют использовать  Caddy для создания серверов, отличных от HTTP, например, рассматривается создание на базе  Caddy DNS-сервера, почтового сервера, SSH, git-сервера и т.п. Связанный с TLS код отделён от остальной функциональности, что позволяет использовать его, например, для реализаиии TARTTLS  для почтового сервера или для SFTP.  


В настоящее время уже развивается  DNS-сервер  CoreDNS (https://github.com/miekg/coredns), основанный на технологиях Caddy. Добавлена экспериментальная поддержка протокола QUIC, развиваемого компанией Google в качестве альтернативы связки TCP+TLS для Web, решающего проблемы с большим временем установки и согласования соединений в TCP и устраняющего задержки при потере пакетов в процессе передачи данных.

URL: https://caddyserver.com/blog/caddy-0_9-released
Новость: https://www.opennet.ru/opennews/art.shtml?num=44817


Содержание

Сообщения в этом обсуждении
"Доступен HTTP-сервер Caddy 0.9"
Отправлено dr Equivalent , 20-Июл-16 11:39 
> поддержкой автоматической настройки HTTPS (получение сертификатов автоматизировано через сервис Let’s Encrypt)

Вот так надо делать.


"Доступен HTTP-сервер Caddy 0.9"
Отправлено rshadow , 20-Июл-16 13:08 
+100500 за идею.

Осталось дождаться когда плагин сделают к нормальному nginx а не поделочному серверу.


"Доступен HTTP-сервер Caddy 0.9"
Отправлено nemo , 20-Июл-16 13:15 
В общем-то дожидаться не обязательно -- начните сами делать сей плагин, всем польза будет.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 19:51 
Главное не забыть "ожидается поддержка REST API для удалённого управления" и запилить автоматическую настройку управления для АНБ.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Ergil , 20-Июл-16 16:26 
Есть Openresty(nginx с дополнительными патчами) на котором это уже работает. Мой пакет Openresty под Ubuntu GNU/Linux 14.04 и бэкпорт нужной версии OpenSSL из 16.04 можно взять https://launchpad.net/~ernillew/+archive/ubuntu/operesty-for-le и доставить https://github.com/GUI/lua-resty-auto-ssl(его в идеале тоже нужно опакетить, но руки не дошли).
И все работает.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Ergil , 20-Июл-16 14:13 
Openresty(то есть nginx с патчами) делает тоже самое у меня. При чем еще и генерит сертификаты на лету отвечая на *.domain.xyz и сразу проводя подтверждение владения при первом обращении к домену.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 20:53 
Ага, это типа:
- Стой! Пароль?
- Вон, на стенде написан.
- Ааа, тогда проходи.
К сертификатам и всему, что связано с защитой данных, надо относиться предельно ответственно. А эту фичу запилили для баранов, которым их же собственная безопасность - лишь досадная помеха.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Crazy Alex , 21-Июл-16 11:24 
Блин, ну сколько раз про модели угроз и постановку целей повторять?

"Caddy позиционируется как решение для web-разработки и быстрого развёртывания web-сайтов, не требующее для запуска особых технических знаний и предоставляющее возможность обслуживания сайтов дизайнерами, блоггерами и авторами контента, без привлечения администраторов и технического персонала".

От скрипткиддисов и подобных прикрыться того, что есть в этой штуке - более чем достаточно. А большего для данного применения и не надо - лишь бы пароль к бложеку открытым текстом не летел.


"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 25-Июл-16 10:32 
В данном случае главная угроза - обезьяна с гранатой которая устанавливает сервер.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 11:43 
>  ограничения доступа ipfilter

iptables, pf2, ipfw

> предлагается использовать FastCGI

Если б конфиги были не такие ужасные.

Еще не доросли до продакшена .


"Доступен HTTP-сервер Caddy 0.9"
Отправлено anonymous , 20-Июл-16 12:18 
> в виде обособленного исполняемого файла без зависимостей (не требует даже libc)

Я так понимаю это называется "статическая компиляция"?


"Доступен HTTP-сервер Caddy 0.9"
Отправлено анон , 20-Июл-16 13:25 
В данном контексте это означает, что написано на чистом Go, без привлечения сторонних библиотек на C.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено anonymous , 20-Июл-16 13:25 
Скорее уж статическая линковка.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 25-Июл-16 15:31 
в любом случае - уже за это автору надо плюсануть :) требуется немалое Мужество и выдержка чтобы такое - доделать :)

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Enapiuz , 20-Июл-16 12:33 
Вебсервер для боггеров, интересно :)
Надо попробовать будет с github pages перенести один статический сайтик.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 13:42 
curl: (7) Failed to connect to caddyserver.com port 443: Connection refused

ок


"Доступен HTTP-сервер Caddy 0.9"
Отправлено mine , 20-Июл-16 14:33 
> В отличие от http-серверов, ориентированных на производительность или функциональность

... http-сервер Caddy не умеет ничего и работает медленно?


"Доступен HTTP-сервер Caddy 0.9"
Отправлено rob pike , 20-Июл-16 16:48 
Луддит! Хейтер! Ретроград!
Этот сервер написан на Go! На Go!

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 17:44 
Сервер на Go можно написать парой десятков строк.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено rob pike , 20-Июл-16 18:14 
В других языках придется писать миллионы строк, может быть даже миллиарды.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 19:07 
Да что уж, триллиарды!

"Доступен HTTP-сервер Caddy 0.9"
Отправлено rob pike , 20-Июл-16 19:45 
Выразить точное количество строк можно только в языке Go, где константы никогда не переполняются.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 20:10 
> Выразить точное количество строк можно только в языке Go, где константы никогда
> не переполняются.

Тонко, тонко. А бывают языки с переполняющимися константами? JavaScript/ECMAScript не предлагать.


"Доступен HTTP-сервер Caddy 0.9"
Отправлено rob pike , 20-Июл-16 20:28 
Даже в прогрессивном языке Go переполняются

> const MaxUint uint = ^0 // Error: overflow

Но если аккуратно расставлять приведения типов, то не переполняются!

> const MaxUint = ^uint(0)

Go - язык для аккуратных, прилежных людей.


"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 20:05 
> Сервер на Go можно написать парой десятков строк.

Его и на си можно в десяток строк написать - #include "lwan.h" и понеслась. Заодно сборка мусора не лагает, и вообще - эта хня заняла первое место на techempower в номинации "сериализация JSON".


"Доступен HTTP-сервер Caddy 0.9"
Отправлено rob pike , 20-Июл-16 20:33 
На тесте 'Plain text' там же его обгоняет Rapidoid, на Java. В три раза.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 21-Июл-16 03:58 
> На тесте 'Plain text' там же его обгоняет Rapidoid, на Java. В три раза.

Да там вообще тесты местами странновато сделаны. Например, все тесты подогнаны так что можно без проблем брать любую быструю как понос key-value базу и всех порвать. В тестах с запросами lwan почему-то забенчен с sqlite или mysql. С понятным результатом. Не стоит воспринимать как истину в последней инстанции, но все-таки забавно когда какой-то малоизвестный фрукт вот так бац и все решения обставил, при том в парсинге json что актуально для современной скоростной вебни где все по максимуму выпихано на клиента а вебня перекидывается с сервером чаще всего как раз json'ом.


"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 15:08 
Я так понимаю, по лежащему http://caddyserver.com/ можно оценить его надёжность.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 15:33 
лол

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 20:09 
> Я так понимаю, по лежащему http://caddyserver.com/ можно оценить его надёжность.

Они не обещали производительность, вот и сдох после публикации новости.


"Доступен HTTP-сервер Caddy 0.9"
Отправлено абвгдейка , 20-Июл-16 15:32 
а кому нужно много и быстро разворачивать сайты? Спамерам:)

"Доступен HTTP-сервер Caddy 0.9"
Отправлено rob pike , 20-Июл-16 19:41 
Спам, реклама и порно - три главных двигателя интернет-технлогий.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 20:07 
> а кому нужно много и быстро разворачивать сайты? Спамерам:)

А ножи сильнее всего нужны серийным убийцам, палюбэ :)


"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 16:14 
Чото программисты на го имеют склонность к написанию монстрокомбайнов. То докер слепят, а потом пилят его на части, то вот это вот…

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 20:17 
> Чото программисты на го имеют склонность к написанию монстрокомбайнов. То докер слепят,
> а потом пилят его на части, то вот это вот…

Карманная версия энтерпрайзятины. Они вырастут и начнут наворачивать уродов на яве с гигабайтным сетапом.


"Доступен HTTP-сервер Caddy 0.9"
Отправлено Наркоман , 20-Июл-16 21:01 
Нет, лучше взять нжинкс и обложить его жидкими скриптами на башике, зато не монстрокомбайн!

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 21-Июл-16 04:01 
> Нет, лучше взять нжинкс и обложить его жидкими скриптами на башике, зато
> не монстрокомбайн!

Оправдываещь свой ник. Да фигли, надо не мелочиться и сделать весь сервак одним ASIC'ом. А когда в бложик захочется добавить запись - перевыпустить ASIC, что уж там. Комбайны - так по максимуму.


"Доступен HTTP-сервер Caddy 0.9"
Отправлено rob pike , 20-Июл-16 16:47 
> B rating (ssllabs)
>    - rc4 acceptance
>    - Session resumption (caching) No (IDs empty)
>    - no OCSP stapling
>    - Next Protocol Negotiation (NPN) Yes, but not signalling a http/1.1 fallback

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 20-Июл-16 20:57 
>  максимально упростить и автоматизировать настройку
> для web-разработки и быстрого развёртывания web-сайтов, не требующее для запуска особых технических знаний и предоставляющее возможность обслуживания сайтов дизайнерами, блоггерами и авторами контента, без привлечения администраторов и технического персонала.

Пастухи ботнетов блаженно зажмурились в предвкушении.
Убивать за такое надо.


"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 21-Июл-16 01:39 
>Убивать за такое надо.

Не надо! Это негуманно!
*Владелец ботнета*


"Доступен HTTP-сервер Caddy 0.9"
Отправлено Crazy Alex , 21-Июл-16 12:57 
С централизованными принудительными апдейтами-то? Очень не факт.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено sHaggY_caT , 21-Июл-16 02:51 
Для неосиляторов Puppet/Ansible/Salt/Chef/etc сгодится.

"Доступен HTTP-сервер Caddy 0.9"
Отправлено angra , 21-Июл-16 03:53 
А какое отношение имеют инструменты управления десятками серверов к вебсерверу для одного сервера?

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Аноним , 21-Июл-16 04:26 
> Для неосиляторов Puppet/Ansible/Salt/Chef/etc сгодится.

Скорее для тех кто не может себе сертификат выписать. Да еще привязка к одному сервису -  очень в духе тех кто пишет на новомодных языках.


"Доступен HTTP-сервер Caddy 0.9"
Отправлено Crazy Alex , 21-Июл-16 12:58 
Разумеется.
Оно для тех, кто не то что не осилил - а о таких штуках даже не слышал (потому что им на фиг не надо) - "не требующее для запуска особых технических знаний и предоставляющее возможность обслуживания сайтов дизайнерами, блоггерами и авторами контента, без привлечения администраторов и технического персонала"

"Доступен HTTP-сервер Caddy 0.9"
Отправлено Aninymous1 , 21-Июл-16 19:22 
> Разумеется.
> Оно для тех, кто не то что не осилил - а о
> таких штуках даже не слышал (потому что им на фиг не
> надо) - "не требующее для запуска особых технических знаний и предоставляющее
> возможность обслуживания сайтов дизайнерами, блоггерами и авторами контента, без привлечения
> администраторов и технического персонала"

А функционирующий мозг для запуска данного сервера требуется? Если нет, то предрекаю этому продукту широчайший успех...