From c2cb6c0801c7f8a0e6b7e30dac4ba40ea41648b6 Mon Sep 17 00:00:00 2001 From: vitya Date: Wed, 12 Aug 2026 19:37:22 +0300 Subject: [PATCH] =?UTF-8?q?wiki(kreknin):=20LE-=D1=81=D0=B5=D1=80=D1=82=20?= =?UTF-8?q?=D0=B8=D0=B7=20traefik=20acme.json=20=D0=B2=20nginx=20DSM=20?= =?UTF-8?q?=E2=80=94=20=D0=B8=D0=B7=20LAN=20=D0=B1=D0=B5=D0=B7=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D1=83=D0=BF=D1=80=D0=B5=D0=B6=D0=B4=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Извлечён серт git.kreknin.site (base64 Certificate/Key) из /volume1/docker/traefik/letsencrypt/acme.json → /usr/local/etc/nginx/ssl_git_kreknin.*, nginx reverse proxy переведён на него. Из LAN: LE + Gitea 200. DSM-пароль не нужен. --- .wiki/entities/kreknin-synology.md | 2 +- .wiki/log.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.wiki/entities/kreknin-synology.md b/.wiki/entities/kreknin-synology.md index f337f00..28b2a24 100644 --- a/.wiki/entities/kreknin-synology.md +++ b/.wiki/entities/kreknin-synology.md @@ -127,7 +127,7 @@ USB **2TB WD20EARX** (sdq) отформатирован в один btrfs, см - **Проброс на Keenetic:** 80→192.168.1.43:8000, 443→192.168.1.43:4443 (правила в панели, сделал vitya/Алексей в GUI — KeeneticOS Viva API закрыт для curl-автоматизации). - **NAT loopback у Алексея СЛОМАН** — **РЕШЕНО (2026-08-12)**: KeeneticOS 5.1.3 hairpin не чинит (проверено). Двойное решение: 1. **DNS-override на Keenetic** (RCI): `git.kreknin.site`/`kreknin.site` → `192.168.1.43` (ip host через POST /rci/ parse) - 2. **Reverse proxy на DSM nginx**: 443 занят встроенным nginx DSM → добавлен server block `git.kreknin.site:443 → proxy_pass https://127.0.0.1:4443` (traefik), файл `/usr/local/etc/nginx/sites-available/0a73bdfc-…w3conf` (server.ReverseProxy.conf) + `nginx -s reload`. ⚠️ Важно: traefik на 4443 — TLS-entrypoint, поэтому `proxy_pass https://` + `proxy_ssl_verify off` + `proxy_ssl_name git.kreknin.site` (HTTP на 4443 даёт 404). Серт из LAN — DSM default (Synology), валидный LE-серт для git.kreknin.site из LAN: добавить в DSM Security → Certificate → Add → Let's Encrypt → выбрать в правиле (GUI, без DSM-пароля не автоматизируется). + 2. **Reverse proxy на DSM nginx**: 443 занят встроенным nginx DSM → добавлен server block `git.kreknin.site:443 → proxy_pass https://127.0.0.1:4443` (traefik), файл `/usr/local/etc/nginx/sites-available/0a73bdfc-…w3conf` (server.ReverseProxy.conf) + `nginx -s reload`. ⚠️ Важно: traefik на 4443 — TLS-entrypoint, поэтому `proxy_pass https://` + `proxy_ssl_verify off` + `proxy_ssl_name git.kreknin.site` (HTTP на 4443 даёт 404). **LE-серт в nginx**: извлечён из traefik `/volume1/docker/traefik/letsencrypt/acme.json` (base64 из Certificate/Key) → `/usr/local/etc/nginx/ssl_git_kreknin.{pem,key}` (LE, до 2026-11-10). DSM-пароль НЕ нужен (root SSH). При ротации traefik-серта — обновить файлы вручную. - **Keenetic admin-пароль:** `pass kreknin/keenetic` (t3r1a4k314; 3steaks1eGG — НЕ для роутера). - Установка через web-форму падала (xorm nil-pointer panic на sqlite) → обход: `INSTALL_LOCK=true` в [security] + CLI `admin user create`. Gitea CLI: `docker exec -u 1026:100 gitea gitea --config /data/gitea/conf/app.ini admin user ...` (новый синтаксис `admin user create`, не `create-user`). diff --git a/.wiki/log.md b/.wiki/log.md index 2d27e3b..5356d16 100644 --- a/.wiki/log.md +++ b/.wiki/log.md @@ -1,3 +1,4 @@ +## [2026-08-12] implement | UPDATE entities/kreknin-synology.md — LE-серт git.kreknin.site (из traefik acme.json) подложен в nginx DSM reverse proxy. Из LAN: валидный LE + Gitea, без DSM-пароля (root SSH). ## [2026-08-12] implement | UPDATE entities/kreknin-synology.md — reverse proxy git.kreknin.site:443 → traefik:4443 на DSM nginx (server.ReverseProxy.conf w3conf + reload). Из LAN git.kreknin.site → Gitea (DNS-override + proxy), снаружи LE-серт. Осталось: LE-серт в DSM для git.kreknin.site (из LAN, без предупреждения). ## [2026-08-12] implement | NEW concepts/keenetic-rci-api.md — разобрана автоматизация KeeneticOS 5.1.3 (RCI: GET /rci/show/*, POST /rci/ массив parse-команд). Через API добавлены DNS-записи git.kreknin.site/kreknin.site → 192.168.1.43 (решение сломанного hairpin). Проверено с LAN: всё 200. Правила порт-форвардинга в 5.x лежат в ip.static (to-host=MAC). ## [2026-08-12] implement | UPDATE entities/kreknin-synology.md — Gitea 1.27.1 + postgres 16 на kreknin (для Алексея), traefik починен (restart policy), LE-серт git.kreknin.site, проброс 80/443→8000/4443 на Keenetic. KeeneticOS Viva API закрыт — правила в GUI. NAT loopback сломан → нужен DNS-override git.kreknin.site→192.168.1.43. Пароли: pass kreknin/keenetic + pass kreknin/gitea.