server {
    listen 443 ssl http2;
    server_name example.com;
    root /var/www/trading/public;
    index index.php;
    # ssl_certificate / ssl_certificate_key ...

    client_max_body_size 6m;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;

    location / { try_files $uri $uri/ /index.php?$query_string; }
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
    location ~ /\.(?!well-known) { deny all; }

    # Reverb WebSocket proxy (browser connects to wss://example.com/app/...)
    location /app { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host; proxy_read_timeout 120s; }
    location /apps { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; }
}
