dd67d2c2ec
Весь контент перенесён в content/yasha/ (7 подразделов). Создан content/semen/ с подразделами: changelog, kb, diary. Навигация — dropdown в навбаре, двухуровневое меню в hugo.toml. Шаблоны, сайдбар, поиск обновлены под вложенные секции.
2.3 KiB
2.3 KiB
title, date, tags
| title | date | tags | |||||
|---|---|---|---|---|---|---|---|
| Настройка VPS как реверс-прокси | 2026-03-29 |
|
Общая схема
Mac Studio (локальная сеть)
→ autossh (SSH-туннели)
→ VPS 95.163.232.9 (Debian)
→ nginx (HTTPS reverse proxy)
→ интернет
Что нужно на VPS
1. Установленные пакеты
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-сертификаты
certbot certonly --nginx -d <domain>
certbot renew --dry-run # проверить автообновление
Что нужно на Mac Studio
autossh через launchd
Plist: ~/Library/LaunchAgents/com.openclaw.sshtunnel.plist
Один plist с несколькими -R флагами:
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/autossh</string>
<string>-M</string>
<string>0</string>
<string>-R</string>
<string>8080:localhost:18789</string>
<string>-R</string>
<string>8081:localhost:4096</string>
<string>-R</string>
<string>8082:localhost:4200</string>
<string>-R</string>
<string>8083:localhost:8080</string>
<string>root@95.163.232.9</string>
<string>-N</string>
<string>-i</string>
<string>/Users/<user>/.ssh/id_rsa</string>
</array>
Управление launchd
launchctl load ~/Library/LaunchAgents/com.openclaw.sshtunnel.plist
launchctl start com.openclaw.sshtunnel
launchctl stop com.openclaw.sshtunnel
Проверка
# На 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