The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступен HTTP-сервер Caddy 0.9

20.07.2016 11:25

Доступен выпуск http-сервера Caddy 0.9, примечательного поставкой в виде обособленного исполняемого файла без зависимостей (не требует даже libc) и поддержкой автоматической настройки HTTPS (получение сертификатов автоматизировано через сервис Let’s Encrypt). Код проекта написан на языке Go и поставляется под лицензией Apache 2.0.

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

Сервер поддерживает HTTP/2 и сетевой протокол QUIC (Quick UDP Internet Connections), виртуальные хосты (в том числе TLS SNI), ротацию сессионных TLS-ключей, применяет по умолчанию HTTPS, позволяет формировать динамический контент через шаблоны, которые напоминают SSI. Для подключения полноценных обработчиков динамического контента, например, проектов на PHP, предлагается использовать FastCGI. Настройка осуществляется через простой формат конфигурации caddyfile. В будущем ожидается поддержка REST API для удалённого управления и конфигурационный web-интерфейс (на разработку данных возможностей уже получено финансирование от проекта Mozilla).

Из доступных модулей-расширений можно отметить систему ограничения доступа ipfilter, файловый менеджер, систему клонирования содержимого сайта из git-репозиториев, модуль для организации загрузки файлов, средство для интеграции поискового движка bleve, систему мониторинга, фильтр для автоматической упаковки css/javacript/html, генератор сайтов hugo, поддержку JWT (JSON Web Tokens) и JSONP.

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

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

 
  1. Главная ссылка к новости (https://caddyserver.com/blog/c...)
  2. OpenNews: Проект Mozilla распределил 385 тысяч долларов между значимыми открытыми проектами
  3. OpenNews: В рамках проекта Sandstorm развивается платформа для персональных web-серверов
  4. OpenNews: Компания Google развивает новый сетевой протокол QUIC
  5. OpenNews: Google намерен использовать сетевой протокол QUIC в браузере Chrome по умолчанию
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/44817-caddy
Ключевые слова: caddy, http
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (46) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, dr Equivalent (ok), 11:39, 20/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +4 +/
    > поддержкой автоматической настройки HTTPS (получение сертификатов автоматизировано через сервис Let’s Encrypt)

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

     
     
  • 2.8, rshadow (ok), 13:08, 20/07/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    +100500 за идею.

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

     
     
  • 3.9, nemo (??), 13:15, 20/07/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +9 +/
    В общем-то дожидаться не обязательно -- начните сами делать сей плагин, всем польза будет.
     
     
  • 4.30, Аноним (-), 19:51, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Главное не забыть "ожидается поддержка REST API для удалённого управления" и запилить автоматическую настройку управления для АНБ.
     
  • 3.21, Ergil (?), 16:26, 20/07/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +3 +/
    Есть 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(его в идеале тоже нужно опакетить, но руки не дошли).
    И все работает.
     
  • 2.13, Ergil (?), 14:13, 20/07/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    Openresty(то есть nginx с патчами) делает тоже самое у меня. При чем еще и генерит сертификаты на лету отвечая на *.domain.xyz и сразу проводя подтверждение владения при первом обращении к домену.
     
  • 2.40, Аноним (-), 20:53, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    Ага, это типа:
    - Стой! Пароль?
    - Вон, на стенде написан.
    - Ааа, тогда проходи.
    К сертификатам и всему, что связано с защитой данных, надо относиться предельно ответственно. А эту фичу запилили для баранов, которым их же собственная безопасность - лишь досадная помеха.
     
     
  • 3.49, Crazy Alex (ok), 11:24, 21/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Блин, ну сколько раз про модели угроз и постановку целей повторять?

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

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

     
     
  • 4.53, Аноним (-), 10:32, 25/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В данном случае главная угроза - обезьяна с гранатой которая устанавливает сервер.
     

  • 1.3, Аноним (-), 11:43, 20/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –3 +/
    >  ограничения доступа ipfilter

    iptables, pf2, ipfw

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

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

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

     
  • 1.5, anonymous (??), 12:18, 20/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –3 +/
    > в виде обособленного исполняемого файла без зависимостей (не требует даже libc)

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

     
     
  • 2.10, анон (?), 13:25, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    В данном контексте это означает, что написано на чистом Go, без привлечения сторонних библиотек на C.
     
  • 2.11, anonymous (??), 13:25, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +6 +/
    Скорее уж статическая линковка.
     
     
  • 3.54, Аноним (-), 15:31, 25/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    в любом случае - уже за это автору надо плюсануть :) требуется немалое Мужество и выдержка чтобы такое - доделать :)
     

  • 1.6, Enapiuz (?), 12:33, 20/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Вебсервер для боггеров, интересно :)
    Надо попробовать будет с github pages перенести один статический сайтик.
     
  • 1.12, Аноним (-), 13:42, 20/07/2016 [ответить] [﹢﹢﹢] [ · · · ]      [к модератору]
  • +/
    curl: (7) Failed to connect to caddyserver.com port 443: Connection refused

    ок

     
  • 1.14, mine (ok), 14:33, 20/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +5 +/
    > В отличие от http-серверов, ориентированных на производительность или функциональность

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

     
     
  • 2.23, rob pike (?), 16:48, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +4 +/
    Луддит! Хейтер! Ретроград!
    Этот сервер написан на Go! На Go!
     
     
  • 3.25, Аноним (-), 17:44, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Сервер на Go можно написать парой десятков строк.
     
     
  • 4.26, rob pike (?), 18:14, 20/07/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    В других языках придется писать миллионы строк, может быть даже миллиарды.
     
     
  • 5.27, Аноним (-), 19:07, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Да что уж, триллиарды!
     
     
  • 6.29, rob pike (?), 19:45, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Выразить точное количество строк можно только в языке Go, где константы никогда не переполняются.
     
     
  • 7.35, Аноним (-), 20:10, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Выразить точное количество строк можно только в языке Go, где константы никогда
    > не переполняются.

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

     
     
  • 8.37, rob pike (?), 20:28, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Даже в прогрессивном языке Go переполняются Но если аккуратно расставлять привед... текст свёрнут, показать
     
  • 4.32, Аноним (-), 20:05, 20/07/2016 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Сервер на Go можно написать парой десятков строк.

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

     
     
  • 5.38, rob pike (?), 20:33, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    На тесте 'Plain text' там же его обгоняет Rapidoid, на Java. В три раза.
     
     
  • 6.46, Аноним (-), 03:58, 21/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > На тесте 'Plain text' там же его обгоняет Rapidoid, на Java. В три раза.

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

     

  • 1.16, Аноним (-), 15:08, 20/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +6 +/
    Я так понимаю, по лежащему http://caddyserver.com/ можно оценить его надёжность.
     
     
  • 2.18, Аноним (-), 15:33, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    лол
     
  • 2.34, Аноним (-), 20:09, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    > Я так понимаю, по лежащему http://caddyserver.com/ можно оценить его надёжность.

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

     

  • 1.17, абвгдейка (ok), 15:32, 20/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +4 +/
    а кому нужно много и быстро разворачивать сайты? Спамерам:)
     
     
  • 2.28, rob pike (?), 19:41, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Спам, реклама и порно - три главных двигателя интернет-технлогий.
     
  • 2.33, Аноним (-), 20:07, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > а кому нужно много и быстро разворачивать сайты? Спамерам:)

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

     

  • 1.20, Аноним (-), 16:14, 20/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –1 +/
    Чото программисты на го имеют склонность к написанию монстрокомбайнов. То докер слепят, а потом пилят его на части, то вот это вот…
     
     
  • 2.36, Аноним (-), 20:17, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Чото программисты на го имеют склонность к написанию монстрокомбайнов. То докер слепят,
    > а потом пилят его на части, то вот это вот…

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

     
  • 2.42, Наркоман (?), 21:01, 20/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • –2 +/
    Нет, лучше взять нжинкс и обложить его жидкими скриптами на башике, зато не монстрокомбайн!
     
     
  • 3.47, Аноним (-), 04:01, 21/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > Нет, лучше взять нжинкс и обложить его жидкими скриптами на башике, зато
    > не монстрокомбайн!

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

     

  • 1.22, rob pike (?), 16:47, 20/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    > 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
     
  • 1.41, Аноним (-), 20:57, 20/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –1 +/
    >  максимально упростить и автоматизировать настройку
    > для web-разработки и быстрого развёртывания web-сайтов, не требующее для запуска особых технических знаний и предоставляющее возможность обслуживания сайтов дизайнерами, блоггерами и авторами контента, без привлечения администраторов и технического персонала.

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

     
     
  • 2.43, Аноним (-), 01:39, 21/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    >Убивать за такое надо.

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

     
  • 2.50, Crazy Alex (ok), 12:57, 21/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    С централизованными принудительными апдейтами-то? Очень не факт.
     

  • 1.44, sHaggY_caT (ok), 02:51, 21/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –2 +/
    Для неосиляторов Puppet/Ansible/Salt/Chef/etc сгодится.
     
     
  • 2.45, angra (ok), 03:53, 21/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    А какое отношение имеют инструменты управления десятками серверов к вебсерверу для одного сервера?
     
  • 2.48, Аноним (-), 04:26, 21/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    > Для неосиляторов Puppet/Ansible/Salt/Chef/etc сгодится.

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

     
  • 2.51, Crazy Alex (ok), 12:58, 21/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Разумеется.
    Оно для тех, кто не то что не осилил - а о таких штуках даже не слышал (потому что им на фиг не надо) - "не требующее для запуска особых технических знаний и предоставляющее возможность обслуживания сайтов дизайнерами, блоггерами и авторами контента, без привлечения администраторов и технического персонала"
     
     
  • 3.52, Aninymous1 (?), 19:22, 21/07/2016 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    > Разумеется.
    > Оно для тех, кто не то что не осилил - а о
    > таких штуках даже не слышал (потому что им на фиг не
    > надо) - "не требующее для запуска особых технических знаний и предоставляющее
    > возможность обслуживания сайтов дизайнерами, блоггерами и авторами контента, без привлечения
    > администраторов и технического персонала"

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру