What we are trying to is to have HAProxy to listen for all incoming traffic from port 443 (HTTPS & WSS)
Below is our HAProxy config:
frontend wwws bind 0.0.0.0:443 ssl crt /etc/haproxy/server.pem timeout client 1h default_backend www_backend backend www_backend mode http stats enable stats uri /haproxy option forwardfor reqadd x-forwarded-proto:\ https server server1 backend:3000 weight 1 maxconn 8192 check
0.0.0.0:443 (e.g. https://example.com) is our HA proxy server listening for all incoming 443 traffic backend:3000 is our nginx server which is set to listen for SSL connections
The current problem we are facing right now is when we enter https://example.com, the browser is showing the following error:
400 Bad Request The plain HTTP request was sent to HTTPS port nginx/1.7.5
It does seems like when haproxy forward the traffic to nginx (backend:3000) it converts to http.
I thought "reqadd x-forwarded-proto:\ https " is suppose to make sure it is https.
Not sure what is wrong with our haproxy config.