Environment Setup:
I have a Spring Boot application behind an AWS ALB (Application Load Balancer). The ALB is configured to front HTTPs to the world with a Spring boot application as a target running on HTTP.
Connection Diagram:
HTTPS 443 -> ALB -> HTTP 8080 -> Spring Boot
The Problem:
As the application is running on HTTP internally (8080) but is served on HTTPs via the load balancer I'm unable to use ws://example.com protocol t due to MIXED content restrictions in the browser. I also cannot use 'wss://example.com' as the end server (Spring Boot) is running over HTTP is does not accept the connection.
The Question:
The only solution I have found is to move the end application to use HTTPs with a self-signed certificate. Is there an alternative solution thereby keeping the application running on HTTP but to accept the WSS connection?