Att omdirigera en URL kan antingen göras enkelt men fel eller lite mer genomtänkt och rätt, du väljer själv vilken metod som är rätt för dig 😉
Jag väljer att börja lite bakifrån …
CAA eller Certification Authority Authorization
En CAA‑post i DNS talar om vilka certifikatsutfärdare (CA) som får utfärda TLS/SSL‑certifikat för din domän.
Det är ett säkerhetslager som hindrar obehöriga CA:er från att skapa certifikat för din domän.
Jag använder Let’s Encrypt och därför vill jag att de skall vara godkända utfärdare av certifikat, både för den riktiga domänen men också för den domän jag vill omdirigera från.
Detta skapar ett problem! Det enklaste sättet att få din webbläsare att gå till https://sok.nordh.tech när du skriver dess gamla URL https://search.nordh.tech är att skapa ett CNAME i din DNS.

Efter att man skapat detta CNAME och det börjat spridas i omvärlden så kommer du att hamna hos ”sok” när du skriver ”search” … men …
… din URL kommer inte att skrivas om och viktigast av allt, du kan inte skapa ett CAA för ett CNAME, det tillåter inte DNS-standarden och så länge din webbserver inte känner till search.nordh.tech så får du problem med att skapa ett certifikat för densamma. Så detta blev varken bra eller rätt 😉
Vad är då det rätta sättet?
Så vi börjar i webbservern, om det är Nginx så skapar vi enklast en till konfigurationsfil som vi döper till search.nordh.tech, denna kopierar vi sedan in följande text i.
server {
listen 80;
server_name search.nordh.tech;
return 301 https://sok.nordh.tech$request_uri;
}Detta gör att Nginx lyssnar efter alla anrop till http://search.nordh.tech oavsett följanade text i URL:en och omdirigerar dessa till https://sok.nordh.tech….
Med hjälp av certbot skapar vi sedan ett certifikat för search.nordh.tech vilket kommer att ge filen följande utseende.
server {
server_name search.nordh.tech;
return 301 https://sok.nordh.tech$request_uri;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/search.nordh.tech/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/search.nordh.tech/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = search.nordh.tech) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
server_name search.nordh.tech;
return 404; # managed by CertbotDärefter skapar vi ett A record för search.nordh.tech vilken skall peka till samma IP-adress som sok.nordh.tech redan pekar mot, har vi ett tidigare CNAME angivet skall detta först raderas.
Eftersom vi nu har ett A record uppsatt tillåts vi att skapa ett CAA record, vilket vi såklart skall göra.

Det vi nu uppnått är
- CAA för sok.nordh.tech.
- CAA för search.nordh.tech.
- Går vi mot search.nordh.tech kommer URL:en att skrivas om till sok.nordh.tech.
- Vi kan skapa certifikat för båda domänerna med hjälp av certbot vilket innebär att vi inte får några certifikatfel oavsett vilken domän man använder.
Allt fungerar, DNS gör det den är bäst på och webbservern hjälper till med själva omdirigeringen …
… på rätt sätt 🙂
