From 2c12f161a19c6c701083f3aa19f35b91b7ae1120 Mon Sep 17 00:00:00 2001 From: PTah Date: Tue, 26 May 2026 21:12:48 +1000 Subject: [PATCH] =?UTF-8?q?fix(nginx):=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA?= =?UTF-8?q?=D0=BE=20HTTP=20=D0=B4=D0=BE=20certbot,=20=D0=B1=D0=B5=D0=B7=20?= =?UTF-8?q?ssl=20=D0=B1=D0=B5=D0=B7=20=D1=81=D0=B5=D1=80=D1=82=D0=B8=D1=84?= =?UTF-8?q?=D0=B8=D0=BA=D0=B0=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/nginx/sac.conf.example | 19 ++++--------------- docs/install-ubuntu-24.04-native.md | 19 +++++++++++++++---- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/deploy/nginx/sac.conf.example b/deploy/nginx/sac.conf.example index f9238b8..99fab46 100644 --- a/deploy/nginx/sac.conf.example +++ b/deploy/nginx/sac.conf.example @@ -1,6 +1,9 @@ # /etc/nginx/sites-available/sac # Production FQDN: sac.kalinamall.ru -# API слушает только 127.0.0.1:8000 (systemd sac-api). +# API: 127.0.0.1:8000 (systemd sac-api) +# +# Порядок: 1) этот конфиг (только :80) → nginx -t → reload +# 2) certbot --nginx -d sac.kalinamall.ru (добавит :443 и сертификаты) upstream sac_api { server 127.0.0.1:8000; @@ -16,20 +19,6 @@ server { root /var/www/html; } - location / { - return 301 https://$host$request_uri; - } -} - -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - server_name sac.kalinamall.ru; - - # После certbot пути подставятся автоматически, либо укажите вручную: - # ssl_certificate /etc/letsencrypt/live/sac.kalinamall.ru/fullchain.pem; - # ssl_certificate_key /etc/letsencrypt/live/sac.kalinamall.ru/privkey.pem; - client_max_body_size 2m; location / { diff --git a/docs/install-ubuntu-24.04-native.md b/docs/install-ubuntu-24.04-native.md index bf24d76..eff8bff 100644 --- a/docs/install-ubuntu-24.04-native.md +++ b/docs/install-ubuntu-24.04-native.md @@ -192,20 +192,31 @@ journalctl -u sac-api -f ## 9. nginx и TLS +Шаблон **только HTTP (порт 80)** — без блока `ssl`, иначе `nginx -t` падает до выпуска сертификата. + ```bash -sudo cp /opt/security-alert-center/deploy/nginx/sac.conf.example /etc/nginx/sites-available/sac +cd /opt/security-alert-center +sudo git pull +sudo cp deploy/nginx/sac.conf.example /etc/nginx/sites-available/sac sudo ln -sf /etc/nginx/sites-available/sac /etc/nginx/sites-enabled/sac -# убрать default при необходимости: sudo rm /etc/nginx/sites-enabled/default +# убрать default при необходимости: sudo rm -f /etc/nginx/sites-enabled/default sudo nginx -t sudo systemctl reload nginx ``` -В `sac.conf` замените `server_name` на ваш FQDN. +Проверка через nginx (пока без HTTPS): -Let's Encrypt: +```bash +curl -sS http://127.0.0.1/health -H "Host: sac.kalinamall.ru" | jq . +# или с DNS уже настроенным: +curl -sS http://sac.kalinamall.ru/health | jq . +``` + +Let's Encrypt (добавит `listen 443 ssl` и пути к сертификатам): ```bash sudo certbot --nginx -d sac.kalinamall.ru +sudo nginx -t && sudo systemctl reload nginx ``` ---