Installere SSL certifikater på nginx web server.

Jeg bruger GoDaddy som registrator, og de sælger tre typer SSL-certifikater.

  • Beskytte et website
  • Beskytte multi website
  • Beskytte alle subdomainer

Denne tutorial er baseret på den første, men jeg er sikker på, at du kan bruge den til dem alle. Dette er dog de trin, jeg gik igennem for at konfigurere mit SSL-certifikat.

Først skal du generer en CSR og privat nøgle.

Før du køber et certifikat, skal du generere en privat nøgle og en CSR-fil (Certificate Signing Request). Du bliver bedt om indholdet af CSR-filen, når du bestiller certifikatet.
For det første skal vi oprette en mappe til at placere alle vores ssl-certifikater

Før du køber et certifikat, skal du generere en privat nøgle og en CSR-fil (Certificate Signing Request). Du bliver bedt om indholdet af CSR-filen, når du bestiller certifikatet.
For det første skal vi oprette en mappe til at placere alle vores ssl-certifikater.

$ mkdir /etc/nginx/ssl
$ cd /etc/nginx/ssl

Derefter skal vi generere vores private nøgle, kaldet minhjemmeside.dk.key, og en CSR, kaldet minhjemmeside.csr.

Kør denne kommando (erstatt minhjemmeside.dk med navnet på dit domæne).

$ openssl req -newkey rsa:2048 -nodes -keyout minhjemmeside.dk.key -out minhjemmeside.dk.csr

På dette tidspunkt bliver du bedt om flere linjer med information, der vil blive inkluderet i din certificeringsanmodning. Den vigtigste del er feltet Almindeligt navn, der skal matche det navn, du vil bruge dit certifikat med – for eksempel minhjemmeside.dk, www.minhjemmeside.dk eller (for en anmodning om jokertegn) * .minhjemmeside.dk

Som vist her.

Country Name (2 letter code) [AU]: DK
State or Province Name (full name) [Some-State]: Denmark
Locality Name (eg, city) []: Copenhagen
Organization Name (eg, company)[Internet Widgits Pty Ltd]: Mit firma
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:minhjemmeside.dk
Email Address []:[email protected]minhjemmeside.dk

Dette genererer to filer:

  1. Din private nøgle. Dette har du brug for senere for at konfigurere NGINX.
  2. Din CSR fil.

Nu kan du købe dit certifikat. Du skal kopiere og indsætte dit eksempel.com.csr-certifikat for at sende din anmodning om et SSL-certifikat. Brug denne kommando til at udskrive din fil:

$ cat minhjemmeside.dk.csr

Download dit nye certifikat.

GoDaddy verificerer nu, at du kontrollerer domænet. Du vil modtage en e-mail, så snart dit SSL-certifikat vil blive udstedt med et link for at downloade det. Åbn det link.
Vælg Apache i rullemenuen Servertype, og download ZIP-arkivet. Det skal indeholde to .crt-filer:
Dit SSL-certifikat med et tilfældigt navn (Eks. 93rfs8dhf834hts.crt)
GoDaddy-mellemcertifikatbunten (gd_bundle-g2-g1.crt)
Omdøb den første til eksempel.com.crt og den anden til intermediate.crt.
Certifikatet er nu klar til at blive installeret på din webserver.

 

Installer certifikat på webserveren

Upload eksempel.com.crt og intermediate.crt i den mappe, du har oprettet før:

$ cd /etc/nginx/ssl

Hvis din CA inkluderede et mellemliggende certifikat med Nginx, skal du oprette en enkelt kædet certifikatfil, der indeholder dit certifikat og CA’s mellemcertifikater.

Du kan bruge denne kommando til at oprette en kombineret fil kaldet eksempel.com.chained.crt:

$ cat minhjemmeside.d.crt intermediate.crt > minhjemmeside.dk.chained.crt

Du skal nu ændre adgang for nginx til filerne.

$ cd /etc/nginx
$ sudo chmod -R 600 ssl/

For at fuldføre konfigurationen skal du sikre dig, at din NGINX-konfiguration peger på den rigtige certifikatfil og den private nøgle, du genererede tidligere.

 

Du skal nu rette din nginx konfiguration.

$ sudo vi /etc/nginx/sites-available/minhjemmeside.dk.conf
server {
... listen 443;
server_name minhjemmeside.dk;
ssl on;
ssl_certificate /etc/nginx/ssl/minhjemmeside.dk.chained.crt;
ssl_certificate_key /etc/nginx/ssl/minhjemmeside.dk.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
...
}

Gem, afsluttet og genstart nu NGINX for at indlæse den nye konfiguration og aktiver TLS / SSL over HTTPS med dit GoDaddy-certifikat.

$ sudo service nginx restart

Test det ud ved at få adgang til dit websted via HTTPS, f.eks. https://minhjemmeside.dk

Del

0