Internet und Hostinglösungen
  • Werbung
  • Schlagwörter

Nginx Webserver SSL-Zertifikat einrichten

Verzeichnisse erstellen


Erstellen Sie ein Verzeichnis in dem Sie Ihre Zertifikate speichern möchten:
mkdir -p /usr/local/nginx/ssl/

Wechseln Sie nun in das Verzeichnis:
cd /usr/local/nginx/ssl/


Zertifikat erstellen


Als erstes erstellen Sie einen privaten Schlüssel:
openssl req -new -newkey rsa:4096 -sha256 -nodes -out 4b42_com.csr -keyout 4b42_com.key -subj "/C=CH/ST=St. Gallen/L=St. Gallen/O=4b42/CN=*.4b42.com/emailAddress=hostmaster@4b42.com"

Generating a 4096 bit RSA private key
...++
...............................................++
writing new private key to '4b42_com.key'
-----

openssl req -new -newkey rsa:4096 -sha256 -nodes -out 4b42_net.csr -keyout 4b42_net.key -subj "/C=CH/ST=St. Gallen/L=St. Gallen/O=4b42/CN=*.4b42.net/emailAddress=hostmaster@4b42.com"

Generating a 4096 bit RSA private key
..................++
writing new private key to '4b42_net.key'
-----

Erstellen Sie ein selbstsigniertes Zertifikat:
openssl x509 -req -days 365 -in 4b42_com.csr -signkey 4b42_com.key -out 4b42_com.crt

oder lassen Sie sich den Zertifikatsrequest ausgeben:
cat 4b42_com.csr

-----BEGIN CERTIFICATE REQUEST-----
MIIC5zCCAc8CAQAwgYExCzAJBgNVBAYTAkNIMRMwEQYDVQQIDApTdC4gR2FsbGVu
MRMwEQYDVQQHDApTdC4gR2FsbGVuMQ0wCwYDVQQKDAQ0YjQyMRUwEwYDVQQDDAx3
d3cuNGI0Mi5jb20xIjAgBgkqhkiG9w0BCQEWE2hvc3RtYXN0ZXJANGI0Mi5jb20w
xpJbAaiL9hrHXrF/znN/mHFRdzzLwHbGVxtpryKmQBEeVN+GFzqMxdP2A7biNDyt
E62nFRRqbYDxtW18t9/tQgRCNDBal40HJgzdIo+zxldajSFid6Ymmpz5ptbxZKMn
lAsaQcq2yzAW0Q8+K4v23npiMdS+XvmFrkYyXltkiAuOtg4P4oMYJz+2kMyy2BKC
ZKoasbzMTVjJ9UktZUrEvbOwXZNaNWSXbp02dsEKqoJhGRtqOgoSK1qtu/K5vyhT
EQmS5wfebIGrMXU3PHEgQPHf9bWsAZWtC2BAY1GKXt+Lr6hi5rVKUgEu6B72RJcA
XHOA7dd6NjhXJJXuiWOi5kO++qNiMmhmo9KB
-----END CERTIFICATE REQUEST-----


Zertifikat als Bundle speichern


cat 4b42_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > ssl_bundle.crt

cat 4b42.crt sub.class2.server.sha2.ca.pem ca.pem > ssl-bundle.crt


Zertifikat einrichten


Öffnen Sie die Konfigurationsdatei Ihres Nginx-Webservers:
nano /usr/local/nginx/conf/sites/4b42.com


    server {
listen 443;
server_name 4b42.com www.4b42.com;

root /var/www/4b42.com/;
index index.html index.php;

ssl on;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH+AES:EDH+AES:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4";
add_header Strict-Transport-Security max-age=15768000; # six months
ssl_certificate /usr/local/nginx/ssl/4b42_crt;
ssl_certificate_key /usr/local/nginx/ssl/4b42_com.key;
}


Zertifikate prüfen


openssl rsa -noout -modulus -in 4b42_com.key

openssl req -noout -modulus -in 4b42_com.csr

openssl x509 -noout -modulus -in 4b42_com.crt


Zertifikate konvertieren


PFX Datei erstellen für Microsoft IIS
openssl pkcs12 -export -in 4b42_com.crt -inkey 4b42_com.key -out 4b42_com.pfx -certfile intermediate_domain_ca.crt

P12 Datei erstellen
openssl pkcs12 -export -out 4b42_com.p12 -inkey 4b42_com.key -in 4b42_com.crt -chain -CAfile ca.crt

Privaten Schlüssel entschlüsseln:
openssl rsa -in 4b42.cry -out 4b42.key