resolver 127.0.0.11 valid=30s ipv6=off; set_real_ip_from {{ external_services_network_subnet }}; real_ip_header X-Forwarded-For; real_ip_recursive on; map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream workers { ip_hash; {% for port in range(services.fedi_dk_nodebb.nodebb_port_begin, services.fedi_dk_nodebb.nodebb_port_begin + services.fedi_dk_nodebb.nodebb_processes) %} server app.nodebb:{{ port }}; {% endfor %} } server { server_name {{ services.fedi_dk_nodebb.domain }}; listen 80; set $upstream http://workers; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_redirect off; # Socket.io Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; gzip on; gzip_min_length 1000; gzip_proxied off; gzip_types text/plain application/xml text/javascript application/javascript application/x-javascript text/css application/json; location @nodebb { proxy_pass $upstream; } location ~ ^/assets/(.*) { root /usr/src/app; try_files /build/public/$1 /public/$1 @nodebb; } location / { proxy_pass $upstream; } }