--- title: "Настройка VPS как реверс-прокси" date: 2026-03-29 tags: ["vps", "nginx", "ssh", "reverse-proxy", "devops"] --- ## Общая схема ``` Mac Studio (локальная сеть) → autossh (SSH-туннели) → VPS 95.163.232.9 (Debian) → nginx (HTTPS reverse proxy) → интернет ``` ## Что нужно на VPS ### 1. Установленные пакеты ```bash apt update apt install nginx certbot python3-certbot-nginx ``` ### 2. SSH-доступ - Авторизация только по ключам - Публичный ключ с Mac Studio добавлен в `/root/.ssh/authorized_keys` ### 3. nginx Для каждого домена создать server block: - HTTP → редирект на HTTPS - HTTPS с SSL-сертификатом Let's Encrypt - `proxy_pass` на localhost-порт туннеля Пример структуры: ``` /etc/nginx/sites-available/ claw.a2v.space.conf code.a2v.space.conf sand.a2v.space.conf ``` ### 4. SSL-сертификаты ```bash certbot certonly --nginx -d certbot renew --dry-run # проверить автообновление ``` ## Что нужно на Mac Studio ### autossh через launchd Plist: `~/Library/LaunchAgents/com.openclaw.sshtunnel.plist` Один plist с несколькими `-R` флагами: ```xml ProgramArguments /usr/local/bin/autossh -M 0 -R 8080:localhost:18789 -R 8081:localhost:4096 -R 8082:localhost:4200 -R 8083:localhost:8080 root@95.163.232.9 -N -i /Users//.ssh/id_rsa ``` ### Управление launchd ```bash launchctl load ~/Library/LaunchAgents/com.openclaw.sshtunnel.plist launchctl start com.openclaw.sshtunnel launchctl stop com.openclaw.sshtunnel ``` ## Проверка ```bash # На VPS ss -tlnp | grep -E '808[0-3]' # Снаружи curl -I https://claw.a2v.space curl -I https://code.a2v.space curl -I https://sand.a2v.space ```