
Learn to issue and automate SSL certificates with Let's Encrypt, integrate with engine X and Apache, and host multiple sites on a single server using DNS and a reverse proxy.
Meet your instructor, a self-taught developer with 20 years in freelancing and operations. Learn free automated ssl certificates with Let's Encrypt through hands-on, practical lessons.
download and extract the bundled zip resources, including nginx and apache config files, scripts, and a demo website, then consult notes.txt for commands and sites.
Set up ssh keys and the sep tool for transferring files to a server, verify key pairs in the dot ssh directory, and review Windows options before proceeding.
Learn how http and https work, why insecure http exposes data, and how ssl certificates protect privacy, boost security, and improve seo for your site.
Visualize how ssl certificates enable trusted, encrypted connections by browser–server handshake, guiding users to the green lock icon while validating certificates against trusted authorities and establishing tls or ssl sessions.
Explains three ssl certificate tiers: domain validated, organization validated, and extended validation, covering verification methods, costs, and what users see in the browser, with recommendation to use domain validated certificates.
Discover why Digital Ocean offers scalable cloud hosting with root access, SSH, SSD performance, and one-click apps for WordPress, contrasting with shared hosting options.
Create a digital ocean droplet with ubuntu 16.04, select a $5 per month plan, configure an ssh key, choose a region, and set a recognizable hostname for the ssl course.
Connect to your server via SSH from macOS, Linux, or Windows using the server IP and root user, verify the connection, and transfer scripts to auto-configure tools.
Copy course materials to your server, then use the provided shell scripts in the source folder to install engine X and configure Let's Encrypt, while ensuring scripts are executable.
Install engine X on Ubuntu by sshing into the server, updating packages with apt, and running the installation script. Inspect the script with nano or vim, enable execution, verify it runs on boot, and replace the default page with your own site.
Replace the default site in /var/www with a free dashboard theme demo, then enable it via a sites-available to sites-enabled symlink and restart nginx to prepare for https.
Configure nginx to serve a website by examining main and site-specific config files, applying shared security settings, and defining a default server block with a root path and url resolution.
Generate self-signed ssl certificates with a 4096-bit rsa key and an x509 certificate, include a dhparam file, no passphrase, and localhost common name for testing before configuring engine X.
Replace the old nginx config with the new SSL enabled demo, run the script, restart nginx, and enable HTTPS, while learning A+ SSL settings for redirects, caching, and stapling.
Learn how to test a free SSL certificate without a domain name using a free service and a subdomain, and understand DNS basics and Let’s Encrypt blocking risks.
Understand how the domain name system maps an IP address to a domain name using A records, and note propagation delays up to 48 hours and CNAME basics.
Evaluate domain registrars by price, whois guard, and email forwarding; compare internet bs and name silo, noting nine dollars a year for dot com and free whois guard for life.
Update DNS records by mapping your domain or subdomain to your server IP address with your domain registrar or hosting provider, then wait for propagation and prepare for Let's Encrypt.
Discover how Let's Encrypt operates as a free, open-source certificate authority issuing SSL certificates trusted by major browsers and enabling automatic renewal without human intervention.
Learn how let's encrypt validates your domain and issues certificates via the Acme protocol, using a lightweight acme tiny client to handle CSR and certificate chain.
Move two scripts from your home to /usr/local/bin, make them executable for easy access, and run the Let's Encrypt installation script to enable automated certificate issuance via the Acme client.
Configure nginx for Let's Encrypt by creating the acme challenges directory, updating the demo site config, and restarting nginx to enable certificate issuance.
Configure the Let's Encrypt issue certificate script for your domain, edit the registered domains and generate keys and a CSR with OpenSSL to issue a chain certificate for the server.
Adjust the nginx config and run the issue certificate script to obtain and install Let's Encrypt SSL certificates, then verify with a browser and the SSL Labs test.
Automate certificate renewal by creating a cron job that runs the renewal script monthly at midnight on the first day, ensuring Let's Encrypt certificates stay up to date.
Learn to configure nginx to securely host multiple domains on a single server using Let's Encrypt SSL certificates, DNS subdomains, and domain-specific server blocks.
Learn to configure Nginx as a reverse proxy that secures any web app by centralizing SSL with Let's Encrypt, while routing requests to your app server via an upstream block.
Configure Apache for an a-plus SSL rating with Let's Encrypt, install and customize the SSL de-caf config, and verify a secure connection using SSL Labs.
Destroy a Digital Ocean droplet by selecting it, choosing destroy, and confirming, ensuring you target the correct droplet to avoid deleting your production site, and you won't be billed afterward.
Finish this course to secure any web site or web application with SSL certificates from Let's Encrypt. Share the course to help others learn web security.
Learn How to Get a Secure Lock Icon for Your Site
Because Nowadays Hosting an Insecure Site Isn't Good Enough
Search engines (especially Google) and major browser vendors are really cracking down on insecure sites.
Google ranks insecure pages (HTTP) worse than secure pages (HTTPS).
As of mid-2014 Google has openly stated that HTTPS is now part of their page rank algorithm. Simply put, insecure sites being served over HTTP will rank worse than secure sites being served over HTTPS.
Chrome, FireFox and other browser vendors are adding more and more visual cues that make even non-technical folks aware that your site is dangerous to view.
It won't take long until all insecure sites are seen as being malicious and untrustworthy, even if you're technically not doing anything wrong. Although honestly, I would classify not securing your site as doing your visitors a disservice.
Insecure sites allow anyone to intercept and read the traffic between your visitors and your site.
That's because insecure sites transmit all data over plain text. This makes your visitor's data sensitive to man in the middle attacks, which in turn could be a disaster for both your audience and yourself.
Remember, most people using your site aren't tech savvy, and don't understand that by logging into an insecure site they are leaking sensitive data. If their account gets compromised, guess who they're gong to blame? Yep, your site.
The good news is, securing your site over HTTPS (with SSL certificates) fixes all of the above problems.
Let's Encrypt Is the Best Thing Ever for HTTPS
1. Let's Encrypt is its own certificate authority, meaning it has been white listed by major browsers to offer trusted SSL certificates. Most other SSL certificate vendors are just re-sellers who leech off other certificate authorities because it's very difficult to become a trusted certificate authority.
2. Let's Encrypt allows you to issue SSL certificates for free. You can issue certificates for let's say: example[dot]com, blog.example[dot]com and admin.example[dot]com for free. Other vendors would charge you $30+ / year because you would need 3 separate certs (sub-domains need their own cert).
3. Let's Encrypt allows you to automate verifying and renewing your SSL certificates and doesn't require setting up any billing details. Other SSL vendors require you to manually renew each individual certificate on a yearly basis, and also keep your billing information up to date.
4. Let's Encrypt open sourced all of their tools and has a vibrant community built around it. Other SSL vendors keep everything behind closed doors and force you to use their difficult to use website because it's beneficial to them (example: they charge you certificate revoke fees if you mess up).
5. In 1 year, Let's Encrypt went from having 4+ million active SSL certificates to 40+ million active certs and their growth is exploding. Other SSL vendors are simply not issuing as many certs because people are beginning to realize they don't need to get price gouged to secure their site.
What will I be able to do after completing this course?
You'll be able to secure your site with HTTPS using Let's Encrypt. Along the way we'll cover:
*Don't worry, you'll still be able to follow along if you don't have a custom domain name.
This course comes with:
How does it work with all web frameworks?
Rather than try to implement SSL with each individual web framework, you only have to implement it once with nginx or Apache and then your website or web application can continue doing its thing without ever knowing about SSL, even though it's still protected. It's a huge win (and secure).
nginx and Apache are the most popular web servers in the world and they can each do a number of things very well, but here's what you'll learn to do in this course (with both):
1. Host static websites with no back-end. An example of this could be sites generated with Jekyll, or any other static site generator. It's just HTML files with CSS and Javascript.
2. Forward traffic to any popular web framework such as Rails, Express, Flask, Django, WordPress and so on. This is labeled as a "reverse proxy" and it's how you link a web app to nginx or Apache.
You'll even learn how to host more than 1 site or web app on a single server using virtual hosts.
But is this course worth it?
Instead of spending hundreds of hours furiously Googling around on your own while you second guess every decision, you can sit back and relax while someone who has been in the trenches for 2 decades provides you working solutions. It's like getting instant access to a private consultant.
There's also all of the money you'll save by not having to buy and renew SSL certificates every year, but more importantly you're getting a fully automated solution so you don't have to worry about your site breaking out of the blue because you accidentally forgot to renew an SSL certificate.
What makes this course special?
I've been using Let's Encrypt since it first went live. This course has battle hardened configs and scripts that I have been using and tweaking over the years while I've worked as a self taught full stack developer.
You're not just getting theory and lessons. You're getting production ready solutions that you can apply to your projects.
I've also been a teacher for a number of years and well over 20,000+ people have taken one of my courses.
What kind of support can I expect?
The very best. You can expect hand crafted personal responses to all of your questions that are about this course. Who knows, I may even help you out for slightly off topic questions too!
Here's just a few things that students have said about my support:
Nick has always been quick to respond to my questions. I've never had a message fall through the cracks with Nick. He has become an invaluable mentor. -- Kyle L.
Nick is working around the clock answering questions. I encourage everyone to learn from Nick. -- Ken
Nick is an awesome teacher who is always available to answer your questions in a kind and timely manner. -- Vasco L.