worker_processes auto; worker_rlimit_nofile 30000; events { worker_connections 2048; multi_accept on; use epoll; } stream { # access load balanced 5222 upstream openfire_5222 { least_conn; server openfire_1:5222; server openfire_2:5222; server openfire_3:5222; } server { listen 5222; proxy_pass openfire_5222; } } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; # access load balanced 7070 upstream openfire_7070 { ip_hash; server openfire_1:7070; server openfire_2:7070; server openfire_3:7070; } server { listen 7070; server_name localhost; location / { proxy_pass http://openfire_7070; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_http_version 1.1; proxy_read_timeout 86400; } } # access load balanced 9090 upstream openfire_9090 { ip_hash; server openfire_1:9090; server openfire_2:9090; server openfire_3:9090; } server { listen 9090; server_name localhost; location / { proxy_pass http://openfire_9090; } } }