Skip to content
Snippets Groups Projects
default.conf 2.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jacopo Gasparetto's avatar
    Jacopo Gasparetto committed
    upstream frontend {
        server frontend:3000;
    }
    
    upstream backend {
        server backend:8000;
    }
    
    server {
      listen 80;
      location / {
    
        proxy_pass http://frontend/;
    
    Jacopo Gasparetto's avatar
    Jacopo Gasparetto committed
      }
    
      location /api/v1/ {
    
        proxy_pass http://backend/;
    
    Jacopo Gasparetto's avatar
    Jacopo Gasparetto committed
      location /minio {
    
        proxy_pass http://minio/;
    
    Jacopo Gasparetto's avatar
    Jacopo Gasparetto committed
      # https://stackoverflow.com/questions/70585472/websocketclient-js16-websocket-connection-to-ws-localhost3000-ws-failed-r
      location /ws {
    
        proxy_pass http://frontend/;
    
    Jacopo Gasparetto's avatar
    Jacopo Gasparetto committed
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
      }
    }
    
    Jacopo Gasparetto's avatar
    Jacopo Gasparetto committed
    
    # https://min.io/docs/minio/linux/integrations/setup-nginx-proxy-with-minio.html
    server {
      listen 9000;
      # Allow special characters in headers
      ignore_invalid_headers off;
      # Allow any size file to be uploaded.
      # Set to a value such as 1000m; to restrict file size to a specific value
      client_max_body_size 0;
      # Disable buffering
      proxy_buffering off;
      proxy_request_buffering off;
    
      location / {
        proxy_set_header Host $http_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_connect_timeout 300;
        # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        chunked_transfer_encoding off;
    
        proxy_pass http://minio:9000/; # This uses the upstream directive definition to load balance
      }
    }
    server {
      listen 9001;
      location / {
        proxy_set_header Host $http_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_set_header X-NginX-Proxy true;
    
        # This is necessary to pass the correct IP to be hashed
        real_ip_header X-Real-IP;
    
        proxy_connect_timeout 300;
    
        # To support websockets in MinIO versions released after January 2023
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    
        chunked_transfer_encoding off;
    
        proxy_pass http://minio:9001/; # This uses the upstream directive definition to load balance and assumes a static Console port of 9001
      }
    }