3

I want my webapplication run only on port 4443. So i added this port to my docker container on haproxy. Now i want to inspect the incomming request and if it is not https, it should redirect to it. Like: http:test.example.com:4443 -> https:test.example.com:4443. This only works if i bind the port without the ssl certificate.

If i bind it like this: bind *:4443 ssl crt /usr/local/etc/ssl/chaparron.ml.pem alpn h2 i get the error "https/1: SSL handshake failure" if i call http:test.example.com:4443 but no redirection.

How can i do this?

This is my haproxy.cfg right now

global
        maxconn 50
        tune.ssl.default-dh-param 2048
        log stdout format raw local0

defaults
        log global
        mode http
        timeout tunnel 1h
        timeout http-request 100s

frontend https
        mode http
        bind *:4443 ssl crt /usr/local/etc/ssl/nextcloud.ml.pem alpn h2
        http-request redirect scheme https code 301 if !{ ssl_fc }
        default_backend nextcloud
        timeout client 30s

backend nextcloud
        mode http
        timeout connect 20s
        option http-server-close
        server app1 app:80
        timeout server 30s

It works perfectly if i call it directly with the https in the url.

Samhamsam
  • 51
  • 6

0 Answers0