- Lab
- A Cloud Guru
Securing HTTP Traffic with SSL/TLS Using HAProxy
Security should never be an afterthought, but even if it is, HAProxy has got your back! In this lab, we’re going to get hands-on with HAProxy, using it to secure existing HTTP connections via SSL termination at our HAProxy server. We’re also going to configure HAProxy to redirect HTTP requests to HTTPS so our sites' guests are gently herded into more secure pastures. Upon completion of the lab, you will be able to secure an HAProxy installation to load balance HTTP/S connections.
Path Info
Table of Contents
-
Challenge
Secure Our Sites with SSL/TLS
Let's secure our
frontend
with SSL/TLS!Perform the following:
- Change the
frontend
to bind to port 443 on all addresses.- Configure SSL/TLS, using the
/etc/haproxy/certs
directory. - Force TLS v1.2.
- Leave the 2
backends
untouched. - Restart the
haproxy
service. - Perform the following checks with
curl -k
:- https://www.site1.com/test.txt
- https://www.site2.com/test.txt
- http://www.site1.com/test.txt
- http://www.site2.com/test.txt
- The first 2 should work, the second 2 will fail.
- Configure SSL/TLS, using the
- Change the
-
Challenge
Redirect HTTP Traffic to HTTPS
The final thing we want to do is to start accepting HTTP traffic again, but we need to force it to HTTPS. This way, if our users make a request using HTTP, we can enforce the use of encryption.
Perform the following:
- Change the
frontend
to also bind to port 80 on all addresses, - Create a redirect to force HTTPS, unless the client is already using it,
- Leave the 2
backends
untouched, - Restart the
haproxy
service, - Perform the following checks with
curl -kL
:- https://www.site1.com/test.txt
- https://www.site2.com/test.txt
- http://www.site1.com/test.txt
- http://www.site2.com/test.txt
- All checks should work.
- Change the
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.