upstream edgeapiserver {
   least_conn;
   server 127.0.0.1:8091;
}

upstream eventwallportal {
   least_conn;
   server 127.0.0.1:3010;
}

upstream v-remoteeventserver {
	ip_hash;
	server 127.0.0.1:15675;
}

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

server {
   listen 9080 default_server;
   #listen [::]:9080 default_server ipv6only=on;

   # return 301 https://$host$request_uri;

   location /edgeapiserver/ {
      proxy_pass http://edgeapiserver;
   }

   location / {
      proxy_pass http://eventwallportal/;
   }

   location /ws {
      proxy_pass http://v-remoteeventserver;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_connect_timeout 1s;
      proxy_set_header Host $host;
	}

}

server {

   listen 9443 ssl;

   http2 on;

   ssl_certificate		/etc/nginx/ssl/videonetics.crt;
   ssl_certificate_key	/etc/nginx/ssl/videonetics.key;

   ssl_session_timeout 1d;
   ssl_session_cache shared:SharedNixCraftSSL:10m;
   ssl_session_tickets off;

   # TLS 1.3 only
   ssl_protocols TLSv1.2 TLSv1.3;
   ssl_prefer_server_ciphers off;

   # OCSP stapling
   ssl_stapling off;
   ssl_stapling_verify off;

   # verify chain of trust of OCSP response using Root CA and Intermediate certs
   # ssl_trusted_certificate /etc/nginx/ssl/fullchain.pem;

   client_max_body_size	200M;

   location /edgeapiserver/ {
      proxy_pass http://edgeapiserver;
   }

   location / {
      proxy_pass http://eventwallportal/;
   }

   location /ws {
      proxy_pass http://v-remoteeventserver;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_connect_timeout 1s;
      proxy_set_header Host $host;
	}

}

