Four Js Development Tools Forum

Discussions by product => GAS and GBC => Topic started by: Gary C. on March 30, 2023, 12:46:28 pm



Title: Load Balancing
Post by: Gary C. on March 30, 2023, 12:46:28 pm
Hi

We are struggling to front end two GAS servers with a load balancer and I am hoping that someone else here has managed to get this working.

All three servers are running Ubuntu 22.04 LTS and using Apache. At the moment, we have been trying to get session bound connections working.

The GAS servers work as expected when accessed directly either via http or https.

When being accessed via the load balancer, the Genero Browser Client is being loaded, it pauses and then we get a "The Application Ended" message with a reason of "Server unreachable".

Here is the SSL virtual host configuration file we are using in the proxy server:

Code
  1. <IfModule mod_ssl.c>
  2.        <VirtualHost _default_:443>
  3.                ServerName jean.alsico.co.uk
  4.                ServerAdmin webadmin@alsico.co.uk
  5.  
  6.                ErrorLog ${APACHE_LOG_DIR}/error.log
  7.                CustomLog ${APACHE_LOG_DIR}/access.log combined
  8.  
  9.                SSLEngine on
  10.                SSLProtocol all -SSLv3 -SSLv2 -TLSv1 -TLSv1.1
  11.                SSLCertificateFile      /etc/ssl/certs/alsico.crt
  12.                SSLCertificateKeyFile   /etc/ssl/private/alsico.key
  13.  
  14.                ProxyPreserveHost Off
  15.  
  16.                RequestHeader set X-Forwarded-Proto https
  17.                RequestHeader set X-Forwarded-Port 443
  18.  
  19.                SSLProxyEngine on
  20.  
  21.                Header add Set-Cookie "routeid=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
  22.                <Proxy balancer://gasfarm>
  23.                        BalancerMember https://annie.alsico.co.uk/gas/ route=1
  24.                        BalancerMember https://hilda.alsico.co.uk/gas/ route=2
  25.                        ProxySet stickysession=routeid
  26.                </Proxy>
  27.  
  28.                <Location "/gas">
  29.                        ProxyPass "balancer://gasfarm/"
  30.                        ProxyPassReverse "balancer://gasfarm/"
  31.                </Location>
  32.  
  33.                <FilesMatch "\.(cgi|shtml|phtml|php)$">
  34.                                SSLOptions +StdEnvVars
  35.                </FilesMatch>
  36.                <Directory /usr/lib/cgi-bin>
  37.                                SSLOptions +StdEnvVars
  38.                </Directory>
  39.  
  40.        </VirtualHost>
  41.  
  42. </IfModule>
  43.  

I'd be most grateful if any other user could share a working config file.

I have also set the GAS log to a category of ALL on both GAS servers and attached the output of one who handled a request.

Thanks

Gary



Title: Re: Load Balancing
Post by: Gary C. on March 30, 2023, 05:13:16 pm
This nearly always happens when I post a question on this forum!

We had missed adding the element:

Code
  1. <ROOT_URL_PREFIX>https://jean.alsico.co.uk/gas</ROOT_URL_PREFIX>
  2.  

To the main xcf file on the two GAS servers.

It is now working.


Title: Re: Load Balancing
Post by: Sisavanh S. on March 31, 2023, 12:44:26 pm
Hi,

Indeed, you need <ROOT_URL_PREFIX> prefix for GAS version prior to 4.00.
I guess you are using GAS 3.20 ?

If you need details, please contact your local support center.

Best regards,
Sisa.


Title: Re: Load Balancing
Post by: Gary C. on April 03, 2023, 11:07:21 am
Hi Sisa

Yes, that's correct (3.20.18). I have just upgraded to GAS 4.01.01 and everything is working well.

Thanks

Gary