Using Nginx Plus
This tutorial will walk you through configuring Nginx Plus as a
load balancer to direct client requests to a group of PowerServer Web
APIs. You will have to configure Nginx Plus as a load balancer and use
the sticky cookie to support session persistence. With sticky cookies,
the requests from the same user session are always directed to the same
PowerServer Web APIs.
Step 1: Install
Nginx Plus. Nginx Plus is a commercial product. You will need to
purchase it first or apply for a trial version of Nginx Plus.
Step 2: Configure Nginx Plus to direct requests to the PowerServer
Web APIs group using the sticky cookie load-balancing method.
-
Open the nginx.conf file in a text editor.
-
Add an “http” block that defines the server group.
-
The “listen” directive specifies the port number for the
requests. The Web API URL should point to this port
number. -
The “proxy_pass” directive forwards the request to the
server group defined in the “upstream” directive, therefore, it
should match with the upstream name. -
The “upstream” directive defines the PowerServer Web APIs
group.In the following example, the “upstream” block consists of
three server configurations; it could consists of more.The “upstream” block also consists of the “sticky”
directive and defines the cookie name and timeout value. The
cookie timeout value must be equal to or greater than the
session timeout value (which is 3600 seconds by default). In the
following example, the cookie timeout value is set to 1 hour
(which is 3600 seconds).For more information about the sticky cookie and the other
load-balancing methods (such as sticky route and sticky learn),
refer to https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#enabling-session-persistence.
The following configuration defines a PowerServer Web APIs
group named servergroup which
consists of three servers: https://172.16.100.34:6000/,
https://172.16.100.35:6000/, and https://172.16.100.36:6000/, and
requests made to the Web API URL: https://<server>:8080/ will
be redirected to the PowerServer Web APIs group.123456789101112131415http {server {<span><strong>listen 8080;</strong></span>location / {proxy_set_header Host $http_host;<span><strong>proxy_pass https://servergroup;</strong></span>}}<span><strong>upstream servergroup {sticky cookie srv_id expire=1h path=/;server https://172.16.100.34:6000;server https://172.16.100.35:6000;server https://172.16.100.36:6000;}</strong></span>} -