Att omdirigera en URL på rätt sätt?

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 Certbot

Dä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 🙂

Nordh Tech
Privacy Overview

GDPR och kakor (cookies)

Den 25 maj 2018 började dataskyddsförordningen (GDPR) att gälla i Sverige och övriga EU.

Det innebär bland annat att inget företag eller organisation får spara personuppgifter som inte behövs för att leverera det du bett om och att du har rätt att ”bli glömd” så snart du ber om det.

För din kontakt med Nordh.Tech innebär det inte så mycket.

Vi sparar en kaka (cookie) vilket innebär en liten textfil med information om vad du gjort när du surfar hos oss, vi gör det för att kunna få statistik rörande vad du gjort när du besöker oss och för att vi skall kunna ge dig nytt innehåll och inte till exempel behöva fråga dig var gång du besöker oss om du godkänner våra GDPR-villkor eller att det sparas en ”kaka” på din dator.

Vi sparar också din epostadress för att kunna skicka dig vårt nyhetsbrev eller hantera din inloggning i vårt forum, om du bett om det vill säga. Då du prenumererar på nyhetsbrevet eller begär inloggning till vårt forum anger du också ditt förnamn eller inloggningsnamn men här kan du ange vilket namn som helst. Vissa anger även efternamn men dessa raderas så att endast förnamnet kommer att användas i hälsningsfrasen i varje nyhetsbrev.

Hoppas detta gör att du kan känna dig trygg med ditt besök hos mig här på Internet.