Files
nginx-configs/nginx/nginx/conf.d/redirects.conf
T
naomi 6836c5bcae
Test nginx configuration / Static Analysis (push) Failing after 6s
Test nginx configuration / nginx Syntax Check (push) Failing after 17s
Security Scan and Upload / Security & DefectDojo Upload (push) Successful in 1m40s
feat: add huddle redirect
2026-06-11 21:46:26 -07:00

163 lines
5.0 KiB
Plaintext

# Pure-redirect virtual hosts — server blocks whose only purpose is a 301/302 to another URL.
# val.nhcarrigan.com → headpat image
server {
listen 443 ssl;
server_name val.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/val.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/val.nhcarrigan.com/privkey.pem;
location / {
return 302 https://cdn.nhcarrigan.com/val-headpat.jpg;
}
}
# assistant.nhcarrigan.com → cordelia (legacy name)
server {
listen 443 ssl;
server_name assistant.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/assistant.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/assistant.nhcarrigan.com/privkey.pem;
location / {
return 301 https://cordelia.nhcarrigan.com$uri$is_args$args;
}
include /etc/nginx/snippets/deny-dotfiles.conf;
}
# trans-bot.nhcarrigan.com → aria (legacy name)
server {
listen 443 ssl;
server_name trans-bot.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/trans.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/trans.nhcarrigan.com/privkey.pem;
location / {
return 301 https://aria.nhcarrigan.com;
}
include /etc/nginx/snippets/deny-dotfiles.conf;
}
# announcements.nhcarrigan.com → hikari /announcements
server {
listen 443 ssl;
server_name announcements.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/announcements.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/announcements.nhcarrigan.com/privkey.pem;
return 301 https://hikari.nhcarrigan.com/announcements;
include /etc/nginx/snippets/deny-dotfiles.conf;
}
# products.nhcarrigan.com → hikari /products
server {
listen 443 ssl;
server_name products.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/products.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/products.nhcarrigan.com/privkey.pem;
location / {
return 301 https://hikari.nhcarrigan.com/products;
}
include /etc/nginx/snippets/deny-dotfiles.conf;
}
# hooks.nhcarrigan.com → celestine (legacy name)
server {
listen 443 ssl;
server_name hooks.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/hooks.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hooks.nhcarrigan.com/privkey.pem;
location / {
return 301 https://celestine.nhcarrigan.com$uri$is_args$args;
}
include /etc/nginx/snippets/deny-dotfiles.conf;
}
# chat.nhcarrigan.com → Discord invite
server {
listen 443 ssl;
server_name chat.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/chat.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/chat.nhcarrigan.com/privkey.pem;
location / {
return 301 https://discord.gg/KKe7BaEnQB;
}
include /etc/nginx/snippets/deny-dotfiles.conf;
}
# forum.nhcarrigan.com → support (legacy name)
server {
listen 443 ssl;
server_name forum.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/forum.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/forum.nhcarrigan.com/privkey.pem;
location / {
return 301 https://support.nhcarrigan.com;
}
include /etc/nginx/snippets/deny-dotfiles.conf;
}
# cyc.nhcarrigan.com → zcal scheduling
server {
listen 443 ssl;
server_name cyc.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/cyc.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cyc.nhcarrigan.com/privkey.pem;
return 301 https://zcal.co/nhcarrigan/cyc;
include /etc/nginx/snippets/deny-dotfiles.conf;
}
# meet.nhcarrigan.com → zcal scheduling
server {
listen 443 ssl;
server_name meet.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/meet.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/meet.nhcarrigan.com/privkey.pem;
return 301 https://zcal.co/nhcarrigan/meet;
include /etc/nginx/snippets/deny-dotfiles.conf;
}
# huddle.nhcarrigan.com → zcal scheduling
server {
listen 443 ssl;
server_name huddle.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/huddle.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/huddle.nhcarrigan.com/privkey.pem;
return 301 https://zcal.co/nhcarrigan/huddle;
include /etc/nginx/snippets/deny-dotfiles.conf;
}
# tasks.nhcarrigan.com → melody
server {
listen 443 ssl;
server_name tasks.nhcarrigan.com;
ssl_certificate /etc/letsencrypt/live/tasks.nhcarrigan.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/tasks.nhcarrigan.com/privkey.pem;
location / {
return 301 https://melody.nhcarrigan.com$uri$is_args$args;
}
include /etc/nginx/snippets/deny-dotfiles.conf;
}
# Wildcard: *.naomi.lgbt → *.nhcarrigan.com
server {
listen 443 ssl;
server_name ~^(?<subdomain>.+)\.naomi\.lgbt$;
ssl_certificate /etc/letsencrypt/live/*.naomi.lgbt/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/*.naomi.lgbt/privkey.pem;
location / {
return 301 https://$subdomain.nhcarrigan.com$request_uri;
}
include /etc/nginx/snippets/deny-dotfiles.conf;
}