feat: multi-domain nginx configs and TLS scripts for мои-товары.рф / my-products.ru

- nginx/nginx.conf: pre-generated config for both domains (IDN punycode for .рф)
- scripts/generate-nginx-conf.sh: generates sites-available config from template per domain
- scripts/init-letsencrypt.sh: accepts domain as arg (falls back to .env)
- README.md: updated deploy section, removed stale VK_WEIGHT_PRICE_MULTIPLIER, added sync/logs routes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
mguschin
2026-05-13 10:39:02 +03:00
parent 75b3872170
commit 7df5da76d7
4 changed files with 155 additions and 45 deletions

View File

@@ -1,12 +1,16 @@
# Generated from nginx.conf.template — do not edit directly.
# Regenerate: DOMAIN=yourdomain.com envsubst '${DOMAIN}' < nginx/nginx.conf.template > nginx/nginx.conf
# Regenerate per domain: sudo ./scripts/generate-nginx-conf.sh <domain>
# This file is kept as a reference only; production uses sites-available/*.conf
upstream web {
server 127.0.0.1:8080;
}
# ── мои-товары.рф ─────────────────────────────────────────────────────────────
server {
listen 80;
server_name evosync.ru www.evosync.ru;
server_name xn--e1afmapc4af.xn--p1af www.xn--e1afmapc4af.xn--p1af;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
@@ -19,10 +23,45 @@ server {
server {
listen 443 ssl;
server_name evosync.ru www.evosync.ru;
server_name xn--e1afmapc4af.xn--p1af www.xn--e1afmapc4af.xn--p1af;
ssl_certificate /etc/letsencrypt/live/evosync.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/evosync.ru/privkey.pem;
ssl_certificate /etc/letsencrypt/live/xn--e1afmapc4af.xn--p1af/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/xn--e1afmapc4af.xn--p1af/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://web;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# ── my-products.ru ────────────────────────────────────────────────────────────
server {
listen 80;
server_name my-products.ru www.my-products.ru;
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name my-products.ru www.my-products.ru;
ssl_certificate /etc/letsencrypt/live/my-products.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my-products.ru/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;