--- title: "Подключение sand.a2v.space (Leadera Project)" date: 2026-03-29 tags: ["angular", "go", "docker", "nginx", "vps", "reverse-proxy"] --- ## Архитектура ``` Mac Studio ├─ Frontend (Angular) :4200 (pm2: leadera-fe) ├─ Backend (Go) :8080 (pm2: leadera-api) └─ PostgreSQL 16 в Docker (Colima, container: app-leadera-db) → autossh SSH-туннель (-R 8082:localhost:4200 -R 8083:localhost:8080) → VPS 95.163.232.9 → nginx HTTPS → https://sand.a2v.space ``` ## Параметры | Компонент | Локальный порт | Туннель порт | pm2 имя | |-----------|----------------|--------------|---------| | Frontend (Angular) | 4200 | 8082 | leadera-fe | | Backend (Go) | 8080 | 8083 | leadera-api | SSL сертификат: `/etc/letsencrypt/live/sand.a2v.space/` ## nginx конфиг ```nginx server { listen 80; server_name sand.a2v.space; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name sand.a2v.space; ssl_certificate /etc/letsencrypt/live/sand.a2v.space/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/sand.a2v.space/privkey.pem; location /api { proxy_pass http://127.0.0.1:8083; 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; } location / { proxy_pass http://127.0.0.1:8082; 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; } } ``` ## База данных PostgreSQL 16 в Docker через Colima: - Container: `app-leadera-db` - Port: 5432 ## SSL-сертификат ```bash certbot certonly --nginx -d sand.a2v.space ```