# AITBC Nginx Reverse Proxy Configuration
# Copy to aitbc-proxy.conf and replace YOUR_CONTAINER_IP and YOUR_DOMAIN

server {
    listen 80;
    listen [::]:80;
    server_name YOUR_DOMAIN localhost;
    
    # Forward all requests to the AITBC container
    location / {
        proxy_pass http://YOUR_CONTAINER_IP;
        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;
        
        # WebSocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        
        # Timeouts
        proxy_connect_timeout 60s;
        proxy_send_timeout 60s;
        proxy_read_timeout 60s;
        
        # Buffer settings
        proxy_buffering on;
        proxy_buffer_size 4k;
        proxy_buffers 8 4k;
    }
    
    # Health check endpoint
    location /health {
        proxy_pass http://YOUR_CONTAINER_IP/health;
        access_log off;
    }
    
    # Logging
    access_log /var/log/nginx/aitbc-proxy.access.log;
    error_log /var/log/nginx/aitbc-proxy.error.log;
}

# HTTPS configuration (uncomment and configure for production)
# server {
#     listen 443 ssl http2;
#     listen [::]:443 ssl http2;
#     server_name YOUR_DOMAIN;
#     
#     ssl_certificate /etc/ssl/certs/YOUR_DOMAIN.crt;
#     ssl_certificate_key /etc/ssl/private/YOUR_DOMAIN.key;
#     
#     location / {
#         proxy_pass http://YOUR_CONTAINER_IP;
#         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;
#     }
# }
