server { listen 80; listen [::]:80; server_name aitbc.bubuit.net localhost; # Forward all requests to the AITBC container location / { proxy_pass http://10.1.223.93; 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; } # Agent API - CORS enabled for cross-origin agent access location /agent/ { proxy_pass http://10.1.223.93/agent/; 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; # CORS headers for agent access add_header Access-Control-Allow-Origin * always; add_header Access-Control-Allow-Methods "GET, OPTIONS" always; add_header Access-Control-Allow-Headers "Content-Type, Accept" always; add_header Access-Control-Max-Age 86400 always; # Handle preflight requests if ($request_method = 'OPTIONS') { return 204; } } # RPC endpoints - CORS enabled location /rpc/ { proxy_pass http://10.1.223.93:8006/rpc/; 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; # CORS headers for agent access add_header Access-Control-Allow-Origin * always; add_header Access-Control-Allow-Methods "GET, POST, OPTIONS" always; add_header Access-Control-Allow-Headers "Content-Type, Accept, Authorization" always; add_header Access-Control-Max-Age 86400 always; # Handle preflight requests if ($request_method = 'OPTIONS') { return 204; } } # Health check endpoint location /health { proxy_pass http://10.1.223.93/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 (for future SSL setup) # server { # listen 443 ssl http2; # listen [::]:443 ssl http2; # server_name aitbc.bubuit.net; # # ssl_certificate /etc/ssl/certs/aitbc.bubuit.net.crt; # ssl_certificate_key /etc/ssl/private/aitbc.bubuit.net.key; # # location / { # proxy_pass http://10.1.223.93; # 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; # } # }