feat: actually sort, add test for sorting

This commit is contained in:
Naomi Carrigan 2025-05-25 13:50:18 -07:00
parent 4956e1b8b1
commit 7c098d41c7
Signed by: naomi
SSH Key Fingerprint: SHA256:rca1iUI2OhAM6n4FIUaFcZcicmri0jgocqKiTTAfrt8
2 changed files with 101 additions and 77 deletions

View File

@ -66,19 +66,6 @@ server {
}
}
server {
listen 443 ssl;
server_name becca.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/becca.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/becca.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:5010;
proxy_redirect off;
}
}
server {
listen 443 ssl;
server_name beccalia.nhcarrigan.com;
@ -100,6 +87,19 @@ server {
}
}
server {
listen 443 ssl;
server_name becca.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/becca.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/becca.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:5010;
proxy_redirect off;
}
}
server {
listen 443 ssl;
server_name blog.nhcarrigan.com;
@ -218,6 +218,19 @@ server {
return 301 https://docs.nhcarrigan.com/about/donate/;
}
server {
listen 443 ssl;
server_name forms-api.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/forms-api.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/forms-api.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:1234;
proxy_redirect off;
}
}
server {
listen 443 ssl;
server_name forms.nhcarrigan.com;
@ -236,19 +249,6 @@ server {
}
}
server {
listen 443 ssl;
server_name forms-api.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/forms-api.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/forms-api.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:1234;
proxy_redirect off;
}
}
server {
listen 443 ssl;
server_name games.nhcarrigan.com;
@ -352,19 +352,6 @@ server {
}
}
server {
listen 443 ssl;
server_name mommy.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/mommy.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mommy.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8008;
proxy_redirect off;
}
}
server {
listen 443 ssl;
server_name mommy-bot.nhcarrigan.com;
@ -378,6 +365,19 @@ server {
}
}
server {
listen 443 ssl;
server_name mommy.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/mommy.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mommy.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8008;
proxy_redirect off;
}
}
server {
listen 443 ssl;
server_name mommy-slack.nhcarrigan.com;
@ -408,6 +408,19 @@ server {
}
}
server {
listen 443 ssl;
server_name nails-api.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/nails-api.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nails-api.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:1235;
proxy_redirect off;
}
}
server {
listen 443 ssl;
server_name nails.nhcarrigan.com;
@ -426,19 +439,6 @@ server {
}
}
server {
listen 443 ssl;
server_name nails-api.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/nails-api.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nails-api.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:1235;
proxy_redirect off;
}
}
server {
listen 443 ssl;
server_name naomi.lgbt;
@ -616,18 +616,6 @@ server {
}
}
server {
listen 443 ssl;
server_name trans.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/trans.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/trans.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://0.0.0.0:5000;
}
}
server {
listen 443 ssl;
server_name trans-bot.nhcarrigan.com;
@ -640,6 +628,18 @@ server {
}
}
server {
listen 443 ssl;
server_name trans.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/trans.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/trans.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://0.0.0.0:5000;
}
}
server {
listen 443 ssl;
server_name uptime.nhcarrigan.com;
@ -652,6 +652,19 @@ server {
}
}
server {
listen 443 ssl;
server_name vitalia-api.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/vitalia.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/vitalia.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:12345;
proxy_redirect off;
}
}
server {
listen 443 ssl;
server_name vitalia.nhcarrigan.com;
@ -670,19 +683,6 @@ server {
}
}
server {
listen 443 ssl;
server_name vitalia-api.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/vitalia.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/vitalia.nhcarrigan.com/privkey.pem;
location / {
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:12345;
proxy_redirect off;
}
}
server {
listen 443 ssl;
server_name www.naomi.lgbt;

24
test.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/bash
CONF="configs/prod.conf"
# Extract server_name values in order, ignoring commented lines
mapfile -t domains < <(grep -oP '^\s*server_name\s+\K[^;]+' "$CONF")
sorted=($(printf "%s\n" "${domains[@]}" | sort))
# Print the sorted list for debugging
echo "Auditing servers:"
printf "%s " "${sorted[@]}"
echo ""
for i in "${!domains[@]}"; do
if [[ "${domains[$i]}" != "${sorted[$i]}" ]]; then
echo "Domain list is not sorted alphabetically."
echo "First out-of-order entry: '${domains[$i]}' (should be '${sorted[$i]}')"
exit 1
fi
done
echo "All server_name entries are sorted alphabetically."
exit 0