user nginx; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; worker_processes auto; worker_rlimit_nofile 33282; events { worker_connections 4096; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; map $http_upgrade $connection_upgrade { default "upgrade"; } server { listen 0.0.0.0:10000 default_server; server_name _; resolver 127.0.0.11 valid=10s; # security headers add_header X-Frame-Options SAMEORIGIN always; # proxy headers proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # budibase services set $app_service http://{{ address }}:4001; set $worker_service http://{{ address }}:4002; set $builder http://{{ address }}:3000; set $minio http://minio-service:9000; set $couchdb http://couchdb-service:5984; location = / { return 301 /builder/; } location /db/ { proxy_pass $couchdb; rewrite ^/db/(.*)$ /$1 break; } location ~ ^/(global|admin|system)/ { proxy_pass $worker_service; } location /api/ { proxy_read_timeout 120s; proxy_connect_timeout 120s; proxy_send_timeout 120s; proxy_pass $app_service; } location ^/(app_|builder) { proxy_pass $app_service; } location /app/ { proxy_pass $app_service; rewrite ^/app/(.*)$ /$1 break; } {{!-- location = / { proxy_pass $builder; } --}} location /builder { proxy_pass $builder; rewrite ^/builder(.*)$ /builder/$1 break; } location /builder/ { proxy_pass $builder; } location / { proxy_pass $minio; } } }