Spectrum OneClick Webapp via load balancer
search cancel

Spectrum OneClick Webapp via load balancer

book

Article ID: 231487

calendar_today

Updated On:

Products

CA Spectrum DX NetOps

Issue/Introduction

We have configured oneclick servers behind a loadbalancer as follows:

LB listens on port 443, and redirects to oneclick server listening on port 8443

LB listens on port 9443, and redirects to oneclick server listening on port 9443.

 

However we have found that in order for WebApp to launch successfully, it is also necessary to configure a third LB listener on port 8443, which redirects to oneclick servers on port 8443. 

Reason:  It seems that the WebApp process running on the oneclick server wants to connect to the Tomcat process on port 8443.  However rather than connecting to "localhost:8443" it is connecting to "loadbalancer_ip:8443".  So the traffic has to go from Webtomcat (9443) to the LB and then back to tomcat(8443).

Is this behavior normal / expected?

 

Environment

Release : 21.2

Component : Spectrum OneClick

Cause

We do not have any configuration in webswing.config file apart from -compress 9 ${customArgs}. We want to avoid as much configuration as possible such that user errors are avoided and also to avoid confusions from customers.

OCWebserverServer will pass all the required parameters to webapp internally including host parameter as well. One of the reason we have not added localhost to webswing.config file is also to avoid issues with Certificate validations(SSL Handshake issues) between OCWS and Webapp. Moreover not all customers will have LB in place.  So in general if adding the localhost value to the host parameter resolved the issue for customer then they can proceed with that configuration and it should not harm anything on webapp.  

 

Resolution

To avoid the loop in red through the load balancer, you can specify the localhost and achieve the internal communication on the OC server; change the args passed in webswing.config from

"launcherConfig" : { "args" : "-compress 9 ${customArgs}",

to:

"launcherConfig" : { "args" : "-compress 9 -host localhost -port 8443 -ssl true ${customArgs}

 

https://api-broadcom-ca.wolkenservicedesk.com/attachment/get_attachment_content?uniqueFileId=HX1CqS5/f5g4tnk/lV6dNA==

Additional Information


In some cases it might be necessary to use the OneClick's hostname in place of localhost for Java/SSL Cert checks

-host hostname.domain.net -port 8843 -ssl true