Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
Google Cloud Platform icon
Labs

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.

Google Cloud Platform icon
Labs

Path Info

Level
Clock icon Intermediate
Duration
Clock icon 30m
Published
Clock icon Jun 30, 2021

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. 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.
  2. 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.

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

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.

Start learning by doing today

View Plans