After WAR deployment, going to http:////servoy-admin works fine. I’m able to view the Servoy admin as normal. When I try to go to a solution in the NG client via: http:////solutions//index.html the page shows “Disconnected from server, Reconnecting…”. When I inspect the console, I can see this error:
WebSocket connection to 'ws://<host>/<context>/websocket/null/null/null?solution=<solutionName>' failed: Error during WebSocket handshake: Unexpected response code: 404
The browser just sits there and is not able to connect. Notice the null values in the above error. I’m also using a very current version of Tomcat.
Using a setup on AWS with:
CentOS 7
Java 8u91
Apache Tomcat 7.0.54
Servoy 8.0.3
Support Case: SVY-9761
i tries this on the latest tomcat 7.x and for me this works fine the war deployes fine and the client can be started up.
somehow the websocket doesn’t come up of the endpoint is not registered maybe that is a problem in that version of tomcat somehow.
are you really talking directly to the tomcat server?
Or is there a proxy in between or apache (httpd) in front of this?
Its on AWS and there is a load balancer in front of Tomcat.
Hi Scott,
Be aware that the AJP protocol doesn’t support WebSockets. Johan already looked into this issue at ServoyCamp.
If you want to use Apache HTTPD as a load balancer in front of Tomcat you have to make sure you use mod_proxy and/or mod_proxy_wstunnel.
Hope this helps.
Thanks. I’m just using the built-in Load Balancer for AWS, and I’m not 100% sure what that uses under-the-hood. I’ll try and not use the load balancer and see how it goes.
Hi,
Did you find a solution for this?
I’m facing the exact same issue; apparently the Elastic Beanstalk setup with load balancer I am configuring doesn’t support websockets.
It would save me a lot of time I guess…
Thanks!
Robrecht
Hi,
Did you find a solution for this?
I’m facing the exact same issue; apparently the Elastic Beanstalk setup with load balancer I am configuring doesn’t support websockets.
It would save me a lot of time I guess…
Thanks!
Robrecht
We switched over to doing everything in Docker / Amazon Elastic Container Services. So we use nginx instead of the default AWS Elastic Load Balancer, which gave us some more control over customization.
Thanks
Switching the load balancer to nginx on elastic beanstalk does the trick for now. I want to avoid switching to ECS and losing some of the advantages of EBS…