Introduksjon
Intro
Introduksjon
SSL (står for Secure Sockets Layer ) og dets etterfølger, TLS (står for Transport Layer Security ) er kryptografiske protokoller for å sikre kommunikasjon over Internett. Den kan brukes til å opprette en sikker tilkobling til et nettsted.
Intro
Sørg for at Nginx og OpenSSL er installert på serveren din. I denne artikkelen vil vi demonstrere prosessen ved å generere et selvsignert SSL-sertifikat.
Trinn 1: Opprett en katalog for sertifikatet og den private nøkkelen
Vi oppretter en katalog (og skriver den inn) i /etc/nginx (forutsatt at katalogen er Nginx sin konfigurasjonskatalog), ved å:
sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl # we'll perform our next few steps in this dir
Trinn 2: Opprett privat nøkkel og CSR
La oss starte med å lage nettstedets private nøkkel. I dette eksemplet bruker vi 4096-biters nøkkel for sterkere sikkerhet. Merk at 2048-bit også er sikkert, men IKKE BRUK EN 1024-BIT PRIVAT NØKKEL!
sudo openssl genrsa -out example.com.key 4096
Opprett nå en sertifikatsigneringsforespørsel (CSR) for signering av sertifikatet. Vi bruker 512-bit SHA-2. Legg merke til -sha512alternativet.
sudo openssl req -new -key example.com.key -out example.com.csr -sha512
Det vil spørre en lister over felt som må fylles ut. Sørg for at Common Nameer satt til ditt domenenavn! Også, la A challenge passwordog An optional company nameblank.
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:CA
Locality Name (eg, city) []:LosAngeles
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Example Inc
Organizational Unit Name (eg, section) []:Security
Common Name (e.g. server FQDN or YOUR name) []:*.example.com
Email Address []:webmaster@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Trinn 3: Signer sertifikatet ditt
Nesten ferdig! Nå må vi bare signere den. Ikke glem å erstatte 365 (utløper etter 365 dager) til det antall dager du foretrekker.
sudo openssl x509 -req -days 365 -in example.com.csr -signkey example.com.key -out example.com.crt -sha512
Nå er vi ferdige med å lage et selvsignert sertifikat.
Trinn 4: Konfigurer
Åpne Nginxs eksempel SSL-konfigurasjonsfil:
sudo nano /etc/nginx/conf.d/example_ssl.conf
Fjern kommentarer i seksjonen under linjen HTTPS Server . Match konfigurasjonen din med informasjonen nedenfor, og erstatt den example.comi server_namelinjen med ditt domenenavn eller IP-adresse. Angi også rotkatalogen din.
# HTTPS server
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ecdh_curve secp384r1;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4; # no RC4 and known insecure cipher
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
Start deretter Nginx på nytt.
service nginx restart
Gå nå til nettstedet ditt med en httpsadresse ( https://your.address.tld). Nettleseren din vil vise en sikker tilkobling ved å bruke ditt selvsignerte sertifikat.