对 NGINX 服务器配置长轮询

如果您部署了 NGINX 代理服务器来管理 IBM Connections™ 的推送通知,那么可以将其配置为使用负载均衡,从而提供更长的长轮询时间间隔。

开始之前

您可以选择部署 NGINX 或 NGINX Plus 代理服务器(而不是使用 IBM® HTTP Server)来管理推送通知。有关使用 NGINX 代理服务器管理推送通知的信息,请参阅 IBM developerWorks® 文章 NGINX and WebSphere® Application Server

关于此任务

如果您部署了 NGINX 代理服务器以将推送通知定向到 Connections 移动用户,并打算支持大量的并发客户端连接,那么您可能希望在服务器上配置负载均衡以提供更长的长轮询时间间隔。通过增加长轮询时间间隔,可以在服务器准备响应客户端之前一直让客户端连接保持打开状态,从而缩短响应时间。

负载均衡设置是可选的,不一定要添加到特定文件中;但是,这些设置应嵌套在现有作用域(http、服务器、位置等)内。

在以下示例中,这些设置嵌套在 nginx.conf 配置文件中的主要位置作用域内。

........
http{

server{
.............

location / {

location /push/ {

proxy_pass https://pns_ssl;
proxy_ssl_name $host;
proxy_ssl_server_name on;
                    
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Upgrade $http_upgrade;
proxy_buffering off;
keepalive_timeout 160s;
keepalive_requests 100000;
proxy_read_timeout  900s;
proxy_connect_timeout       75;
proxy_send_timeout          600;
send_timeout                600;
proxy_ignore_client_abort on; 
}
	 proxy_pass https://backend_secure;
........
}
}


upstream pns_ssl {
.......
least conn;
server server1:9447 max_fails=0 fail_timeout=60s;
server server2:9447 max_fails=0 fail_timeout=60s;
keepalive 512;
    
sticky cookie srv_id expires=2h domain=.domain.com path=/;
}
upstream backend_secure {
.......
server webserver:443 max_fails=0 fail_timeout=90s;      
}

}