worker_processes  1;
pid /var/run/nginx.pid;
error_log /dev/stdout info;
daemon off;

events {
    worker_connections 1024;
}

http {
    include             mime.types;
    default_type        application/octet-stream;
    sendfile            on;
    keepalive_timeout   65;
    proxy_read_timeout  1200;
    gzip                on;
    gzip_disable        "msie6";

    upstream backend {
        ip_hash;
        server 127.0.0.1:3000;
    }

    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    # API & Ingress
    server {
        listen 3001 default_server;
        listen 8099 default_server;
        listen [::]:3001 default_server;
        listen [::]:8099 default_server;

        allow   172.30.32.1;
        allow   172.30.32.2;
        deny    all;

        server_name _;
        access_log /dev/stdout combined;

        client_max_body_size 4G;
        keepalive_timeout 5;

        root /dev/null;

        location / {
            proxy_redirect off;
            proxy_pass http://backend;

            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
            proxy_set_header Host "127.0.0.1:3000";
            proxy_set_header Origin "http://127.0.0.1:3000";
        }
    }
}
