# Публичный вход в разговорный сервис «Астра» для Маруси (stacks/astra-marusia). # Цепочка: VK → nginx → 127.0.0.1:18788 (обратный SSH-туннель от rpi, пользователь marusia-tunnel) → rpi 127.0.0.1:8788. # ⚠️ Секрет — часть пути. Поэтому в location нет access_log, а error_log только crit: # на уровне error nginx пишет строку запроса (с секретом) при 502/limit_req. server { server_name astra.ruzzy.dev; server_tokens off; location ^~ /marusia/webhook/ { access_log off; error_log /var/log/nginx/marusia-webhook.error.log crit; client_max_body_size 64k; client_body_timeout 5s; limit_except POST { deny all; } limit_req zone=marusia_webhook burst=5 nodelay; limit_req_status 429; proxy_connect_timeout 1s; proxy_send_timeout 5s; proxy_read_timeout 5s; # /marusia/webhook/<секрет> → /webhook/<секрет> proxy_pass http://127.0.0.1:18788/webhook/; } location / { return 404; } listen 443 ssl; ssl_certificate /etc/letsencrypt/live/astra.ruzzy.dev/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/astra.ruzzy.dev/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; } server { listen 80; server_name astra.ruzzy.dev; server_tokens off; # по HTTP секрет уже утёк в сеть; хотя бы не пишем его в лог и не редиректим location ^~ /marusia/ { access_log off; return 404; } location / { return 301 https://$host$request_uri; } }