Files
computer-playbook/roles/web-opt-rdr-www
Kevin Veen-Birkenbach 2fccebbd1f Enforce uppercase README.md and TODO.md filenames
- Renamed all Readme.md → README.md
- Renamed all Todo.md → TODO.md
- Added integration test (tests/integration/test_filename_conventions.py) to automatically check naming convention.

Background:
Consistency in file naming (uppercase README.md and TODO.md) avoids issues with case-sensitive filesystems and ensures desktop cards (e.g. Pretix) are properly included.
Ref: https://chatgpt.com/share/68b1d135-c688-800f-9441-46a3cbfee175
2025-08-29 18:11:53 +02:00
..

Nginx WWW Redirect 🌐

Description

Automates the creation of Nginx server blocks that redirect all www. subdomains to their non-www equivalents. Simple, idempotent, and SEO-friendly! 🚀

Overview

This role will:

  • Discover existing *.conf vhosts in your Nginx servers directory
  • Filter domains with or without your PRIMARY_DOMAIN
  • Generate redirect rules via the web-opt-rdr-domains role
  • Optionally include a wildcard redirect template (experimental)
  • Clean up leftover configs when running in cleanup mode 🧹

All tasks are guarded by “run once” facts and MODE_CLEANUP flags to avoid unintended re-runs or stale files.

Purpose

Ensure that any request to www.example.com automatically and permanently redirects to https://example.com, improving user experience, SEO, and certificate management. 🎯

Features

  • Auto-Discovery: Scans your Nginx servers directory for .conf files. 🔍
  • Dynamic Redirects: Builds source: "www.domain"target: "domain" mappings on the fly. 🔧
  • Wildcard Redirect: Includes a templated wildcard server block for www.* domains (toggleable).
  • Cleanup Mode: Removes the wildcard config file when CERTBOT_FLAVOR is set to dedicated and MODE_CLEANUP is enabled. 🗑️
  • Debug Output: Optional MODE_DEBUG gives detailed variable dumps for troubleshooting. 🐛