Linux+ Security: Implement HTTPS with an Apache Web Server
In this lab, you’ll configure Apache to use HTTPS. When you’re finished, you’ll have learned how to configure Apache to use a self-signed certificate, and to direct all requests to use HTTPS.
Terms and conditions apply.
Lab info
Lab author
Challenge
Get Started in the Lab Environment
Here are the initial instructions and explanation of the lab environment. Read this while your environment is busy creating itself from nothing. Yes, this violates physics; we know. How fun!
Challenge
Observe Hostname Resolution And Check The Apache Environment
To start this lab, you will observe how the lab system is able to resolve its own hostname, a key element of creating a self-signed certificate. And, you will determine the port that Apache is listening on, along with checking the Apache configuration.
Challenge
Create A Self-Signed Certificate
After confirming the server is able to resolve its hostname, create a self-signed certificate.
Challenge
Configure Apache to Use HTTPS
Before enabling HTTPS, you will update the configuration for Apache's default SSL site.
Challenge
Redirect HTTP Traffic to HTTPS
Update the default site's configuration to redirect all HTTP traffic to the HTTPS port where the self-signed certificate will be applied.
Challenge
Observe Site Certificate Using OpenSSL tools
Use the openssl tool to observe the self-signed certificate and some of the certificate's attributes.
Challenge
The Last Challenge
Welcome to the final challenge! This is your last chance to experiment in the environment. Clicking Finish Lab will end this little world that flittered into existence just for you.
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.
Recommended prerequisites
- Experience with the following:
- Working with the Linux command line interface (CLI) and common CLI tools
- Using systemctl commands.
- Editing files with vim (nano could probably be used as an alternative)
- Standard networking concepts like IPs and ports
- Some familiarity with certificates