I need to configure haproxy with multiple ssl ports
The documentation of redirect scheme
says
With "redirect scheme", then the "Location" header is built by concatenating with "://" then the first occurrence of the "Host" header, and then the URI path, including the query string...
There is the problem: it is using the Host
Header and there is your 8080
...
Here is a possible solution:
http-request replace-header Host ^(.*?)(:[0-9]+)?$ \1:8443
http-request redirect scheme https if !{ ssl_fc }
That replace the Host
header with the correct port...
Related videos on Youtube
parag bharne
Updated on September 18, 2022Comments
-
parag bharne over 1 year
I have two servers which have the same URL but the port number may change.
I want to redirect these two URLs HTTPS.
If I enter my first URL (
http://example.com
) then I want to it will redirect tohttps://example.com
.If I enter second URL (
http://example.com:8080
) then I want to it redirect tohttps://example.com:8080
.See My Configurations:
frontend www-HTTP bind *:80 bind *:443 ssl crt /etc/apache2/ssl/apache.pem reqadd X-Forwarded-Proto:\ https default_backend tcp-backend mode tcp frontend TCP-HTTP bind *:8080 bind *:8443 ssl crt /etc/apache2/ssl/paritech.pem reqadd X-Forwarded-Proto:\ https default_backend www-backend mode tcp backend www-backend redirect scheme https if !{ ssl_fc } server dev.example.com 192.168.1.120:8080 check backend TCP-backend redirect scheme https if !{ ssl_fc } server qa.example.com 192.168.1.120:80 check
How can I redirect 8080 over 8443 for HTTPS..
-
parag bharne over 7 yearsif my configurations was wrong then please suggest me @GregL , I want to redirect the request to the backend for https
-
GregL over 7 yearsI think just changing your modes from
tcp
tohttp
will fix it for you. Inmode tcp
the front-end will do the SSL termination, but the redirects in the backends won't work because that's a layer 7 job, which you're not doing. -
parag bharne over 7 yearsin case of 80 it will work fine but not working in case of 8080 over 8443, how 8080 will know it goes to 8443 for ssl @GregL
-
GregL over 7 yearsAre you wondering how it will work, or are you saying it doesn't work?
-
parag bharne over 7 yearsit works for 80 redirects to https backends over 443, but 8080 not redirect. I want to take port 8443 as SSL port for 8080.
-