2.0 KiB
Raw Blame History

Webserver HTTPS Provisioning 🚀

Description

The srv-web-7-6-https role extends a basic Nginx installation by wiring in everything you need to serve content over HTTPS:

  1. Ensures your Nginx server is configured for SSL/TLS.
  2. Pulls in Lets Encrypt ACME challenge handling.
  3. Applies global cleanup of unused domain configs.

This role is built on top of your existing srv-web-7-4-core role, and it automates the end-to-end process of turning HTTP sites into secure HTTPS sites.


Overview

When you apply srv-web-7-6-https, it will:

  1. Include the srv-web-7-4-core role to install and configure Nginx.
  2. Clean up any stale vHost files under cln-domains.
  3. Deploy the Lets Encrypt challenge-and-redirect snippet from srv-web-7-7-letsencrypt.
  4. Reload Nginx automatically when any template changes.

All tasks are idempotent—once your certificates are in place and your configuration is set, Ansible will skip unchanged steps on subsequent runs.


Features

  • 🔒 Automatic HTTPS Redirect
    Sets up port 80 → 443 redirect and serves /.well-known/acme-challenge/ for Certbot.

  • 🔑 Lets Encrypt Integration
    Pulls in challenge configuration and CAA-record management for automatic certificate issuance and renewal.

  • 🧹 Domain Cleanup
    Removes obsolete or orphaned server blocks before enabling HTTPS.

  • 🚦 Handler-Safe
    Triggers an Nginx reload only when necessary, minimizing service interruptions.


Requirements

  • A working srv-web-7-4-core setup.
  • DNS managed via Cloudflare (for CAA record tasks) or equivalent ACME DNS flow.
  • Variables:
    • certbot_webroot_path
    • certbot_cert_path
    • on_calendar_renew_lets_encrypt_certificates

License

This role is released under the CyMaIS NonCommercial License (CNCL). See https://s.veen.world/cncl for details.


Author

Developed and maintained by Kevin Veen-Birkenbach Consulting & Coaching Solutions https://www.veen.world