The OpenNET Project / Index page

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

20.07.2016 11:25  Доступен HTTP-сервер Caddy 0.9

Доступен выпуск 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
Тип: Программы
Ключевые слова: caddy, http
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | 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 с дополнительными патчами на котором это уже работает Мой... весь текст скрыт [показать]
     
  • 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 позиц... весь текст скрыт [показать]
     
     
  • 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 [^] [ответить]     [к модератору]  
  • +/
    Тонко, тонко А бывают языки с переполняющимися константами JavaScript ECMAScri... весь текст скрыт [показать]
     
     
  • 8.37, rob pike (?), 20:28, 20/07/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Даже в прогрессивном языке Go переполняются Но если аккуратно расставлять привед... весь текст скрыт [показать]
     
  • 4.32, Аноним (-), 20:05, 20/07/2016 [^] [ответить]     [к модератору]  
  • +/
    Его и на си можно в десяток строк написать - include lwan h и понеслась Заод... весь текст скрыт [показать]
     
     
  • 5.38, rob pike (?), 20:33, 20/07/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    На тесте 'Plain text' там же его обгоняет Rapidoid, на Java. В три раза.
     
     
  • 6.46, Аноним (-), 03:58, 21/07/2016 [^] [ответить]     [к модератору]  
  • +/
    Да там вообще тесты местами странновато сделаны Например, все тесты подогнаны т... весь текст скрыт [показать]
     
  • 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 +/
    Оправдываещь свой ник Да фигли, надо не мелочиться и сделать весь сервак одним ... весь текст скрыт [показать]
     
  • 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 +/
    Пастухи ботнетов блаженно зажмурились в предвкушении Убивать за такое надо ... весь текст скрыт [показать]
     
     
  • 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:
    Заголовок:
    Текст:


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