# =============================================================================
# developer.novazeka.com.tr — LiveKit /rtc (TLS bu server_name için tanımlı olmalı)
# =============================================================================
# ÖNCE http { } içine şunu ekleyin (bir kez):
#   include .../nginx-http-maps-livekit-cors.conf;
#
# Sonra aşağıdaki satırları (large_client_header + location)
#   server { listen 443 ssl; server_name developer.novazeka.com.tr; ... }
# içine yapıştırın. proxy_pass portu livekit.yaml ile aynı (7880).
#
# ÖNEMLİ: proxy_pass sonunda / veya /rtc OLMAMALI — LiveKit yolu /rtc/validate
# olarak iletilmeli; aksi halde istek /validate’e düşer ve doğrulama kırılır.
#
# nginx -t && systemctl reload nginx
# =============================================================================

# Flutter web: GET /rtc/validate?access_token=... (JWT çok uzun; 414 / Failed to fetch önlenir)
large_client_header_buffers 8 64k;
client_header_buffer_size 16k;

# CORS başlıkları (PHP api/cors_preflight.php ile uyumlu header listesi)
# $livekit_cors_origin: map ile localhost / novazeka Origin yansıtması; eşleşmezse *
location /rtc {
    if ($request_method = OPTIONS) {
        add_header Access-Control-Allow-Origin $livekit_cors_origin always;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, HEAD' always;
        add_header Access-Control-Allow-Headers 'Content-Type, Authorization, Accept, Origin, X-Requested-With, Cache-Control, Pragma, X-Session-ID, X-NZ-Client, X-NZ-Mobile-App' always;
        add_header Access-Control-Max-Age 86400 always;
        add_header Content-Length 0;
        return 204;
    }
    add_header Access-Control-Allow-Origin $livekit_cors_origin always;

    proxy_pass http://127.0.0.1:7880;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    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;
    proxy_read_timeout 86400;
    proxy_send_timeout 86400;
    proxy_buffering off;
}
