Hopp til innhold
Domene, hosting og tilgang

«Ikke sikker» i nettleseren

SSL-sertifikatet har gått ut eller mangler. Slik fornyer du det, og slik retter du innhold som fortsatt lastes over http.

Du trenger
Hostingpanel
Oppdatert

Når Chrome viser «Ikke sikker» i adressefeltet, lastes siden over http, ikke over en kryptert https-tilkobling. Enten mangler siden SSL-sertifikat, eller serveren omdirigerer ikke til https. Et utløpt eller ugyldig sertifikat gir i stedet en advarsel over hele skjermen.

Les feilkoden i nettleseren

Feilkoden forteller hva som er galt:

  • «Tilkoblingen din er ikke privat» med koden NET::ERR_CERT_DATE_INVALID betyr at sertifikatet har gått ut. Se Forny sertifikatet.
  • NET::ERR_CERT_COMMON_NAME_INVALID betyr at sertifikatet ikke dekker adressen du besøker. Det kan for eksempel dekke dittdomene.no, men ikke www.dittdomene.no.
  • Står det «Ikke sikker» foran adressen uten en advarsel over hele skjermen, lastes siden over http://, og sertifikatet er ikke i bruk. Skriv inn adressen med https:// foran. Virker det, mangler bare omdirigeringen til https og riktig adresse i WordPress.

Får du samme feil på mange ulike nettsider, kan dato eller klokkeslett på datamaskinen din være feil.

Hvilke domenenavn sertifikatet dekker, og når det går ut, ser du i SSL Labs. Testen viser også om mellomsertifikatet mangler. Da virker siden i noen nettlesere, men gir feil i andre.

Bytt adressen til https i WordPress

Vent med dette til siden virker med https:// foran adressen. Ellers kan du låse deg ute av wp-admin.

  1. Gå til Verktøy → Nettstedshelse og se etter «Nettstedet ditt bruker ikke HTTPS». Hvis det også står «HTTPS er allerede støttet for nettstedet ditt» når du åpner punktet, trykker du «Oppdater nettstedet ditt til å bruke HTTPS».
  2. Hvis knappen mangler, går du til Innstillinger → Generelt og bytter ut http:// med https:// i feltene «WordPress-adresse (URL)» og «Nettstedsadresse (URL)». Trykk «Lagre endringene».

Er feltene grå, er adressene låst med WP_HOME og WP_SITEURL i wp-config.php. Da endrer du dem der.

Rett opp blandet innhold

Lastes bilder, skript eller stilark fra http://-adresser på en side som ellers bruker https, kalles det blandet innhold. Nettleseren blokkerer skript og stilark fra http-adresser og prøver å hente bilder over https i stedet. Får den ikke hentet bildet over https, mangler bildet på siden. Hvilke filer det gjelder, ser du i konsollen i utviklerverktøyene (F12), der Chrome lister dem som «Mixed Content».

Etter byttet til https skriver WordPress om http-lenker til ditt eget domene når innlegg, sider og widgeter vises. Innhold som temaer og sidebyggere lagrer selv, blir ikke skrevet om.

Lenkene i selve databasen retter du med WP-CLI. Ta en sikkerhetskopi først, og kjør kommandoen med --dry-run for å se hva som blir endret:

wp search-replace 'http://dittdomene.no' 'https://dittdomene.no' --skip-columns=guid --dry-run

Når resultatet ser riktig ut, kjører du samme kommando uten --dry-run. Uten SSH-tilgang bruker du utvidelsen Better Search Replace, som også har en prøvekjøring. Ikke bruk en REPLACE-spørring rett i databasen. Den retter ikke lengdene i serialiserte data, og innstillinger som er lagret slik, slutter å virke.

Omdiriger all trafikk til https

Mange hostingpaneler har en innstilling som tvinger frem https. Finnes den ikke, legger du inn omdirigeringen selv.

Legg dette øverst i .htaccess i rotmappen, over linjen # BEGIN WordPress:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Ligger siden bak Cloudflare, setter du opp omdirigeringen der i stedet: slå på «Always Use HTTPS» under SSL/TLS → Edge Certificates. Med krypteringsmodusen Flexible gir en omdirigering på serveren for mange omdirigeringer, fordi serveren aldri ser at besøket kom over https.

Forny sertifikatet

Sertifikatet fornyer du i hostingpanelet, for eksempel under SSL eller Let's Encrypt. Pass på at det dekker både dittdomene.no og www.dittdomene.no.

Sertifikater fra Let's Encrypt fornyes automatisk, men bare så lenge domenet peker til serveren. Før hver fornyelse kontrollerer Let's Encrypt domenet. Med den vanligste metoden, HTTP-01, henter Let's Encrypt en fil fra /.well-known/acme-challenge/ på serveren over http. Har noen flyttet DNS, stengt port 80 eller satt en proxy foran siden, går ikke fornyelsen gjennom.

Hvis du ikke får utstedt sertifikatet

Sjekk at DNS peker til riktig server, for eksempel med Google Admin Toolbox Dig. Peker domenet feil, trenger du tilgang til DNS-oppsettet hos domeneforhandleren eller i Cloudflare for å rette det.

Let's Debug sjekker de vanligste årsakene til at Let's Encrypt ikke får validert domenet: feil DNS, stengt port 80, omdirigeringer som ikke virker, og CAA-oppføringer i DNS som ikke tillater Let's Encrypt.

Hvis du ikke finner ut hvor DNS styres, eller ikke har tilgang til hostingpanelet, må du be hostingleverandøren om å utstede sertifikatet.