ロング・ポーリングのための NGINX サーバーの構成

IBM Connections™ のプッシュ通知を管理するために NGINX プロキシー・サーバーをデプロイする場合は、ロード・バランシングを使用することでロング・ポーリング間隔を長くするようにサーバーを構成できます。

始める前に

オプションで、IBM® HTTP Server を使用する代わりに、プッシュ通知を管理するために NGINX または NGINX Plus プロキシー・サーバーをデプロイできます。プッシュ通知用の NGINX プロキシー・サーバーの使用については、IBM developerWorks® の記事『NGINX and WebSphere® Application Server』を参照してください。

このタスクについて

Connections モバイル・ユーザーにプッシュ通知を送信するために NGINX プロキシー・サーバーをデプロイし、多数の同時クライアント接続をサポートする場合は、ロング・ポーリング間隔を長くするようにサーバー上でロード・バランシングを構成できます。ロング・ポーリング間隔を長くすると、サーバーがクライアントに応答する準備ができるまでクライアント接続を開いたままにすることができるため、応答時間が短縮されます。

ロード・バランシング設定は、オプションであり、特定のファイル内に追加する必要はありません。ただし、既存のスコープ (http、server、location など) の内部にネストする必要があります。

以下の例では、設定は、nginx.conf 構成ファイル内のメイン location スコープの内部にネストされています。

........
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;      
}

}