Рубрика «Caddy»

Мы с друзьями несколько лет сидели в Discord: вечером голосовая комната, кто-то стримит игру, кто-то просто фоном что-то делает. Потом захотелось своего. Без чужих правил, без подписок, без того, что в один день тебе скажут подтвердить возраст селфи (Discord, кстати, с 23 сентября именно это и раскатывает).

Готовые варианты я смотрел, но везде что-то не сходилось: то сервер нужен потяжелее, то голос и чат живут в разных программах, то установка рассчитана на человека, который сам админит серверы. А мне нужно было, чтобы всё было в одном окне, как в Discord, и чтобы сервер мог поднять любой из компании.

Читать полностью »

Я держал проект на Next.js на Vercel почти три месяца и уехал на обычный VPS за 990 рублей в месяц. Главное, чего боялся: потерять то, за что Vercel любят. Сборка, которая не трогает живой сайт. Переключение без простоя. Откат одной кнопкой. Под катом схема, которая всё это повторяет на одном сервере без Kubernetes, Docker и прочей тяжёлой артиллерии, и список граблей, на каждую из которых я наступил.

Почему вообще уехал

Причин было четыре, и ни одна не про деньги.

Читать полностью »

Устал смотреть в логи: опять подбор пароля к ssh, опять лезут в несуществующие файлы сайта. Fail2ban ставил — утонул в настройках. Написал своё: обходит свой сайт, запоминает нормальные адреса, по лишним 404 и по ssh режет IP в nftables. Рассказываю — зачем и как ставил. Код покажу там, где самому было интересно.

Эта история произошла давным‑давно, а может быть только вчера, в одном из миров, чем‑то не похожем на не наш.

Я сидел и тупо смотрел на появляющиеся строчки про подбор паролей к ssh и поиск доступа к файлам сайта.

С чего всё началось

Читать полностью »

Про HTTP/2 и HTTP/3 написано столько, что вопрос кажется закрытым. Включаешь — и всё летает. Так, во всяком случае, рассказывают. Мультиплексирование убирает очередь из запросов, QUIC держится, когда пакеты теряются, рукопожатие укладывается в один круг вместо двух. Звучит складно. И, наверное, где-то так и есть.

Меня эта складность не устраивала. Все графики, на которые я натыкался, были нарисованы на чужих стендах. И почти нигде не говорилось простое: где именно выигрыш исчезает, а он исчезает. Причём в самых обыденных ситуациях — отдаёте один большой файл или сервер с клиентом стоят в одном дата-центре, и всё, новой магии нет.

Читать полностью »

В данной статье будет подробно рассмотрен полный цикл деплоя сайта, используюшего Vite в качестве инструмента сборки. Мы напишем многоступенчатый Dockerfile, чтобы собрать образ с готовой статикой, и поднимем контейнер с сервером Caddy, который автоматически выдаст и будет обновлять сертификаты Let's Encrypt.

Нам понадобится

  1. Арендованный или домашний сервер на Ubuntu с публичным IP

  2. Домен, привязанный к IP

  3. Docker

  4. Готовый проект с vite

  5. Терминал

Структура проекта

Читать полностью »

Аннотация

Если домашний сервер находится за NAT или CGNAT, не имеет белого IP-адреса, а проброс портов на роутере невозможен или нежелателен, сервисы всё равно можно опубликовать безопасно. Один из практичных вариантов — использовать VPS как публичную точку входа, а домашний сервер подключать к нему через обратный SSH-туннель.

В такой схеме домашний сервер сам инициирует исходящее SSH-соединение к VPS. На стороне VPS создаётся локальный TCP endpoint, который через SSH-туннель ведёт к сервису на домашнем сервере. Внешний HTTPS-трафик принимает Caddy, после чего проксирует запросы на локальный адрес туннеля.

Базовая схема:

Читать полностью »
NaïveProxy в sing-box (альтернатива VLESS) - 1

Читая статьи про прокси, можно подумать, что VLESS с XHTTP — это чуть ли не единственный рабочий протокол проксирования в условиях блокировок. На самом деле существуют не менее современные альтернативы. Сегодня я расскажу о протоколе NaiveЧитать полностью »

У меня была задача, сделать reverse proxy, который будет проксировать трафик и для определённых доменов выпускать новые сертификаты налету, а для некоторых нужно просто автоматически выпустить сертификат.

Для такой задачи идеально подходит Caddy.

Что такое Caddy?

Caddy - веб-сервер с открытым исходным кодом и автоматическим HTTPS, написанный на Go

Читать полностью »

Всем привет, меня зовут Стас, я техлид в Mish Product Lab.

Тема возникла не просто так: внутри команды у нас было немало споров и дискуссий о том, какой инструмент для проксирования и терминации SSL лучше использовать в различных ситуациях. Изначально все наши гипотезы были основаны больше на личных предпочтениях, чем на реальных данных. Мы долго спорили, надеясь, что истина будет где-то рядом с нашими любимыми решениями. Но в итоге пришли к выводу, что единственный способ получить действительно объективный ответ — это протестировать и сравнить различные варианты на практике.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js