В первой части мы разобрали теорию работы SNI-прокси и Smart DNS, а также настроили всю систему вручную — от веб-сервера Nginx/Angie и DNS-сервера AdGuard Home/Blocky до защиты Firewall. В конце я упомянул утилиту Flowgate, которая автоматизирует весь этот процесс.
Судя по комментариям, у многих возникли вопросы по её использованию. Поэтому я подготовил пошаговую инструкцию, которая поможет развернуть полностью рабочий шлюз на чистом VPS с нуля, используя Flowgate. В результате вы получите работающий доступ к ChatGPT, Claude и другим сервисам без необходимости вручную править конфигурационные файлы.
Что понадобится
VPS с зарубежным IP-адресом (любая локация, где доступны нужные вам сервисы).
Операционная система: Debian 12/13 или Ubuntu 22.04/24.04 (рекомендую Debian, если хотите минимальное количество предустановленных пакетов).
Доменное имя (потребуется для настройки шифрованного DNS DoH/DoT).
Терминал и 10 минут времени.
Требования к ресурсам: Решение очень легкое. Минимального тарифа (1 vCPU, 512 MB RAM) будет достаточно.
Шаг 1: Подготовка сервера
Подключаемся к серверу по SSH, обновляем список пакетов, устанавливаем базовые зависимости:
ssh root@IP_ВАШЕГО_VPS
apt update && apt install -y curl wget gnupg ca-certificates python3 python3-yaml
Какие-то пакеты из этого списка могут быть уже установлены ранее в зависимости от образа VPS, это нормально. В этот список входят и те пакеты, которые понадобятся для установки большинства компонентов вручную.
Шаг 2: Установка Angie
Angie — это веб-сервер (форк Nginx), который нам нужен для работы SNI-прокси. Его главное преимущество в данном случае — встроенная поддержка ACME, которая позволяет автоматически получать и обновлять SSL-сертификаты.
Добавляем репозиторий и устанавливаем:
curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
https://angie.software/keys/angie-signing.gpg
echo "deb https://download.angie.software/angie/$(. /etc/os-release && echo "$ID/$VERSION_ID $VERSION_CODENAME") main" \
| tee /etc/apt/sources.list.d/angie.list
apt update && apt install -y angie
Шаг 3: Проверка порта 53
DNS-сервер должен работать на 53 порту, даже если мы не будем светить его наружу. В Ubuntu и Debian этот порт часто занят системной службой systemd-resolved.
Проверим, занят ли порт:
ss -tlnup | grep :53
Если вывод команды пустой — порт свободен, можно переходить к следующему шагу.

Если вы видите процессы systemd-resolve, службу нужно отключить, чтобы освободить порт для Blocky:
systemctl stop systemd-resolved
systemctl disable systemd-resolved
# Настраиваем DNS для самого сервера (чтобы он мог разрешать доменные имена)
rm -f /etc/resolv.conf
echo "nameserver 8.8.8.8" > /etc/resolv.conf
Примечание: В некоторых минимальных образах на VPS эта служба может быть отключена по умолчанию.
Шаг 4: Установка Flowgate и Blocky
Blocky — быстрый DNS-сервер с поддержкой блокировки рекламы и гибкой настройки.
Flowgate — утилита управления, которая связывает Blocky и Angie.
Рекомендуемый способ: Установка из APT-репозитория
Для удобства обновления и управления пакетами рекомендую использовать APT-репозиторий:
# Добавляем GPG-ключ репозитория
curl -fsSL https://crim50n.github.io/flowgate-repo/key.gpg | sudo tee /usr/share/keyrings/flowgate.asc > /dev/null
# Добавляем репозиторий
echo "deb [signed-by=/usr/share/keyrings/flowgate.asc] https://crim50n.github.io/flowgate-repo stable main" | sudo tee /etc/apt/sources.list.d/flowgate.list
# Обновляем список пакетов и устанавливаем
apt update
apt install -y flowgate blocky
# Включаем службу синхронизации конфигурации
systemctl enable --now flowgate-sync.path
Преимущества этого способа:
Автоматические обновления через
apt upgradeПростота установки и удаления
Доступ к исходным кодам через
apt source flowgate
Альтернатива: Установка из .deb файлов
Если по каким-то причинам вы не хотите добавлять репозиторий, можно установить пакеты напрямую:
cd /tmp
wget -q https://github.com/crim50n/flowgate/releases/download/v1.1.3/flowgate_1.1.3-1_all.deb
wget -q https://github.com/crim50n/blocky-deb/releases/download/v0.28.2-4/blocky_0.28.2-4_amd64.deb
# Устанавливаем пакеты (префикс ./ обязателен)
apt install -y ./blocky_0.28.2-4_amd64.deb ./flowgate_1.1.3-1_all.deb
# Включаем службу синхронизации
systemctl enable --now flowgate-sync.path
Альтернатива: Ручная установка
Если вы используете дистрибутив, не основанный на Debian (например, CentOS, AlmaLinux или любой другой) или просто хотите усложнить себе жизнь, установку можно выполнить вручную.
Установка Blocky:
cd /tmp
wget -q https://github.com/0xERR0R/blocky/releases/download/v0.24/blocky_v0.24_Linux_x86_64.tar.gz
tar -xzf blocky_v0.24_Linux_x86_64.tar.gz
mv blocky /usr/local/bin/
chmod +x /usr/local/bin/blocky
# Проверка версии
blocky version
Создаем пользователя и systemd-сервис:
useradd -r -s /usr/sbin/nologin blocky
mkdir -p /etc/blocky
chown blocky:blocky /etc/blocky
cat > /etc/systemd/system/blocky.service << 'EOF'
[Unit]
Description=Blocky DNS Proxy
Documentation=https://0xerr0r.github.io/blocky/
After=network.target
[Service]
Type=simple
User=blocky
Group=blocky
ExecStart=/usr/local/bin/blocky --config /etc/blocky/config.yml
Restart=on-failure
RestartSec=5
AmbientCapabilities=CAP_NET_BIND_SERVICE
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
Установка Flowgate:
cd /tmp
git clone --depth 1 https://github.com/crim50n/flowgate.git
cd flowgate/flowgate
make install INIT_SYSTEM=systemd
Для систем без systemd: используйте
make install INIT_SYSTEM=noneи настройте автозапуск служб средствами вашей системы инициализации.
Шаг 5: Настройка конфигурации
Запустите команду инициализации. Flowgate определит внешний IP сервера, создаст конфигурацию для Blocky и настроит Angie для проксирования трафика.
flowgate init

Проверяем статус служб:
flowgate status

Шаг 6: Проверка работы
Убедимся, что DNS-сервер корректно обрабатывает запросы. Для проверки используем утилиту dig (из пакета dnsutils).
Проверяем домен, который должен проксироваться (например, chatgpt.com):
apt install -y dnsutils
dig @127.0.0.1 chatgpt.com +short

В ответе должен вернуться IP-адрес вашего VPS. Это означает, что Smart DNS работает и перенаправляет трафик на ваш прокси.
Проверяем обычный домен (например, ya.ru):
dig @127.0.0.1 ya.ru +short
Здесь должны вернуться реальные IP-адреса Яндекса.
Шаг 7: Настройка DNS-over-HTTPS (DoH)
Для безопасного использования DNS (чтобы провайдер не мог перехватывать или подменять DNS-запросы) настроим шифрование.
Вам понадобится доменное имя (например, dns.example.com), направленное на IP вашего VPS.
Варианты доменов:
Собственный домен (рекомендуется): Зарегистрируйте домен у регистратора (~$1/год) и добавьте A-запись, указывающую на IP вашего VPS.
Динамический DNS (бесплатно): Существуют бесплатные сервисы динамического DNS (например, DuckDNS, FreeDNS и другие). Зарегистрируйтесь на любом из них, создайте поддомен и настройте его на IP вашего VPS.
Важно: У некоторых бесплатных DNS-сервисов бывают проблемы со стабильностью NS-серверов, что может приводить к временным ошибкам при получении сертификатов Let's Encrypt. Обычно помогает повторная попытка через несколько минут. Для production-использования рекомендуется собственный домен.
flowgate dns dns.example.com
# или для динамического DNS:
flowgate dns dns.your-subdomain.yourdyndns.org
Эта команда автоматически:
Настроит параметры http-блока Angie (resolver, variables_hash_bucket_size)
Получит SSL-сертификат через ACME
Настроит Angie на приём DoH/DoT запросов

Проверка выпуска сертификата:
Если в выводе команды вы видите ошибки ACME или сертификат не был выпущен, проверьте:
# Убедитесь, что домен резолвится на ваш сервер
dig +short dns.example.com
# Проверьте, что порты 80 и 443 открыты
ss -tlnp | grep -E ':80|:443'
# Посмотрите логи Angie для диагностики
tail -20 /var/log/angie/error.log
# Проверьте наличие сертификата
ls -la /var/lib/angie/acme/
Если сертификат выпущен успешно, вы увидите директорию вида acme_dns_example_com/ с файлами certificate.pem и private.key.
Частые причины ошибок:
Домен не указывает на IP вашего сервера
Порт 80 заблокирован firewall (нужен для ACME HTTP-01 challenge)
Превышен лимит запросов Let's Encrypt (5 сертификатов на домен в неделю)
Нестабильные NS-серверы у бесплатных DNS-сервисов
Теперь ваш DNS-сервер доступен по адресам:
DoH:
https://dns.example.com/dns-queryDoT:
dns.example.com(порт 853)
Проверка работы DoT:
apt install -y knot-dnsutils
kdig @dns.example.com -p 853 +tls chatgpt.com
Вы должны увидеть IP вашего VPS в ответе, что подтверждает работу Smart DNS через зашифрованное соединение.
Шаг 8: Настройка безопасности и клиентов
Теперь осталось защитить сервер и настроить ваши устройства для использования нового DNS-сервера. Подробные инструкции по настройке Firewall и для каждой платформы (Android, iOS, Windows, браузеры, роутеры) есть в первой части статьи.
Основные команды Flowgate
Управление осуществляется через консольную утилиту (я специально не рассматриваю веб-интерфейс, так как для большинства пользователей он излишен, а настраивается достаточно просто):
# Добавить домен в список проксируемых
flowgate add notion.so
# Удалить домен из списка
flowgate remove notion.so
# Настроить обратный прокси для локального сервиса
# (например, для веб-интерфейса Flowgate, если вы решите его использовать)
flowgate service flowgate.example.com 5000
# Показать статус служб и список доменов
flowgate status
Возможные проблемы
Ошибка "address already in use" при запуске Blocky
Обычно означает, что порт 53 занят другой службой. Вернитесь к Шагу 3 и убедитесь, что systemd-resolved отключен.
Ошибки конфигурации Angie
Используйте команду angie -t для диагностики. Flowgate автоматически добавляет необходимые параметры (resolver, variables_hash_bucket_size) при синхронизации.
Заключение
Мы развернули собственный шлюз, который позволяет пользоваться AI-сервисами без VPN-клиентов на устройствах. Решение работает прозрачно для приложений, использует шифрованный DNS и потребляет минимум ресурсов.
Буду признателен за ваши отзывы и предложения в комментариях! Конечная цель проекта - сделать из утилиты одну большую кнопку с надписью "сделать хорошо", так что работы предостаточно.

Комментарии (27)

chasy
12.01.2026 06:57Огромное спасибо!
На свежем debian всё шло идеально до момента:Посмотрите логи Angie для диагностики
tail -20 /var/log/angie/error.log
У меня вывод такой:
root# tail -20 /var/log/angie/error.log 2026/01/12 11:35:17 [error] 2586#2586: *143 open() "/usr/share/angie/html/server-status" failed (2: No such file or directory), client: client_ip, server: localhost, request: "GET /server-status HTTP/1.1", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:18 [error] 2585#2585: *146 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET /login.action HTTP/1.1", upstream: "https://127.0.0.1:8443/login.action", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:18 [error] 2586#2586: *148 open() "/usr/share/angie/html/login.action" failed (2: No such file or directory), client: client_ip, server: localhost, request: "GET /login.action HTTP/1.1", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:19 [error] 2585#2585: *151 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET /_all_dbs HTTP/1.1", upstream: "https://127.0.0.1:8443/_all_dbs", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:19 [error] 2586#2586: *153 open() "/usr/share/angie/html/_all_dbs" failed (2: No such file or directory), client: client_ip, server: localhost, request: "GET /_all_dbs HTTP/1.1", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:20 [error] 2585#2585: *156 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET /.env HTTP/1.1", upstream: "https://127.0.0.1:8443/.env", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:20 [error] 2586#2586: *158 open() "/usr/share/angie/html/.env" failed (2: No such file or directory), client: client_ip, server: localhost, request: "GET /.env HTTP/1.1", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:22 [error] 2585#2585: *161 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET /s/234323e29333e27383e2439313/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties HTTP/1.1", upstream: "https://127.0.0.1:8443/s/234323e29333e27383e2439313/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:22 [error] 2586#2586: *163 open() "/usr/share/angie/html/s/234323e29333e27383e2439313/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties" failed (2: No such file or directory), client: client_ip, server: localhost, request: "GET /s/234323e29333e27383e2439313/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties HTTP/1.1", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:23 [error] 2585#2585: *166 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET /config.json HTTP/1.1", upstream: "https://127.0.0.1:8443/config.json", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:23 [error] 2586#2586: *168 open() "/usr/share/angie/html/config.json" failed (2: No such file or directory), client: client_ip, server: localhost, request: "GET /config.json HTTP/1.1", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:24 [error] 2585#2585: *171 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET /telescope/requests HTTP/1.1", upstream: "https://127.0.0.1:8443/telescope/requests", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:24 [error] 2586#2586: *173 open() "/usr/share/angie/html/telescope/requests" failed (2: No such file or directory), client: client_ip, server: localhost, request: "GET /telescope/requests HTTP/1.1", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:25 [error] 2585#2585: *176 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET /info.php HTTP/1.1", upstream: "https://127.0.0.1:8443/info.php", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:25 [error] 2585#2585: *178 open() "/usr/share/angie/html/info.php" failed (2: No such file or directory), client: client_ip, server: localhost, request: "GET /info.php HTTP/1.1", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:35:26 [error] 2586#2586: *181 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET /?rest_route=/wp/v2/users/ HTTP/1.1", upstream: "https://127.0.0.1:8443/?rest_route=/wp/v2/users/", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:36:36 [error] 2585#2585: *187 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET / HTTP/1.1", upstream: "https://127.0.0.1:8443/", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:36:36 [error] 2585#2585: *187 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET /favicon.ico HTTP/1.1", upstream: "https://127.0.0.1:8443/favicon.ico", host: "dns.myamazingsubdomain.myamazingdomain.com", referrer: "https://dns.myamazingsubdomain.myamazingdomain.com/" 2026/01/12 11:36:52 [error] 2586#2586: *193 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET / HTTP/1.1", upstream: "https://127.0.0.1:8443/", host: "dns.myamazingsubdomain.myamazingdomain.com" 2026/01/12 11:36:52 [error] 2586#2586: *193 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: dns.myamazingsubdomain.myamazingdomain.com, request: "GET /favicon.ico HTTP/1.1", upstream: "https://127.0.0.1:8443/favicon.ico", host: "dns.myamazingsubdomain.myamazingdomain.com", referrer: "https://dns.myamazingsubdomain.myamazingdomain.com/"Порты открыты. Далее при попытке проверить dns неудача:
root# kdig @dns.myamazingsubdomain.myamazingdomain.com -p 853 +tls chatgpt.com ;; WARNING: can't connect to server_ip@853(TCP) ;; ERROR: failed to query server dns.myamazingsubdomain.myamazingdomain.com@853(TCP)Единственное, что сделано не по вашей инструкции — заранее настроен файерволл вот так:
table inet filter { chain input { type filter hook input priority filter; policy drop; ct state established,related accept iif "lo" accept ip protocol icmp accept ip6 nexthdr ipv6-icmp accept tcp dport { 80, 443, 572, 853 } accept } chain forward { type filter hook forward priority filter; policy drop; } chain output { type filter hook output priority filter; policy accept; } }```
crims0n_ru Автор
12.01.2026 06:57Что пишет
ss -tlnp | grep 8443
chasy
12.01.2026 06:57Я Джиру точно не ставил и готов снести, буду выяснять как :)
P.S. Вообще, непохоже, что там есть Джира, поскольку проверка портаss -tuln | grep 8443ничего не выводит.
crims0n_ru Автор
12.01.2026 06:57да, это я неправильно лог прочитал) если команда ничего не выводит, то, похоже, blocky не запущен. Должно быть так:
root@vm3805765:/tmp# ss -tulpn | grep 8443
tcp LISTEN 0 4096 *:8443:users:(("blocky",pid=7464,fd=6))Тогда пробуем запустить blocky:
systemctl start blockyСмотрим статус, запустился ли:
systemctl status blocky
Рабочий вид сервиса Если там написано, что сервис неактивен, то смотрим логи:
journalctl -u blocky
Так должно выглядеть, если нет проблем 
chasy
12.01.2026 06:57Запуск привёл к тому, что blocky запустился, статус был acitve, но kdig так и не начал отрабатывать. Более того, если раньше
dig @127.0.0.1 chatgpt.com +shortвыдавал ожидаемый в вашей статье результат, то теперь и стал выдавать ошибку.
Решил перезагрузиться, но blocky теперь не запускается даже вручную:root# systemctl status blocky × blocky.service - Blocky DNS Proxy Loaded: loaded (/lib/systemd/system/blocky.service; enabled; preset: enabled) Active: failed (Result: exit-code) since Mon 2026-01-12 12:31:41 UTC; 4s ago Duration: 42ms Docs: https://0xerr0r.github.io/blocky/ Process: 600 ExecStart=/usr/bin/blocky --config /etc/blocky/config.yml (code=exited, status=1/FAILURE) Main PID: 600 (code=exited, status=1/FAILURE) CPU: 43ms Jan 12 12:31:41 root systemd[1]: Started blocky.service - Blocky DNS Proxy. Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/ _/ _/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/_/_/ _/ _/_/ _/_/_/ _/ _/ _/ _/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/_/_/ _/ _/_/ _/_/_/ _/ _/ _/_/_/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/_/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ Version: v0.28.2 Build time: 20260110-1935 _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/ _/ Jan 12 12:31:41 root blocky[600]: [2026-01-12 12:31:41] INFO _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ Jan 12 12:31:41 root blocky[600]: Error: can't start server: failed to create TLS configuration: can't retrieve cert: can't load certificate files: open /var/lib/angie/acme/acm> Jan 12 12:31:41 root systemd[1]: blocky.service: Main process exited, code=exited, status=1/FAILURE Jan 12 12:31:41 root systemd[1]: blocky.service: Failed with result 'exit-code'. Jan 12 12:31:41 root systemd[1]: blocky.service: Scheduled restart job, restart counter is at 5. Jan 12 12:31:41 root systemd[1]: Stopped blocky.service - Blocky DNS Proxy. Jan 12 12:31:41 root systemd[1]: blocky.service: Start request repeated too quickly. Jan 12 12:31:41 root systemd[1]: blocky.service: Failed with result 'exit-code'. Jan 12 12:31:41 root systemd[1]: Failed to start blocky.service - Blocky DNS Proxy.dig неуспешен:
root# dig @127.0.0.1 chatgpt.com +short ;; communications error to 127.0.0.1#53: connection refused ;; communications error to 127.0.0.1#53: connection refused ;; communications error to 127.0.0.1#53: connection refused ; <<>> DiG 9.18.41-1~deb12u1-Debian <<>> @127.0.0.1 chatgpt.com +short ; (1 server found) ;; global options: +cmd ;; no servers could be reachedПри этом папка с сертификатом acme есть, внутри неё три файла, выглядят в порядке

crims0n_ru Автор
12.01.2026 06:57flowgate свежий? Ошибка указывает на то, что у blocky нет доступа к сертификатам, сгенерированным angie, из-за чего он падает. В последнем flowgate я добавил назначение прав при синхронизации файлов конфигурации.
saipr
На мой взгляд, это статья может служить (помимо своего целевого назначения) образцом для написания аналогичных статей по настройке того или иного функционала.
crims0n_ru Автор
Спасибо! Рад, что вам понравился формат статьи, но моей заслуги здесь минимум: я просто пошагово описал свои действия.
saipr
В этом и заслуга - доходчиво пошагово описать свои действия.