一、ssl證書(shū)制作
1伶唯、SSL證書(shū)制作依靠openssl,首先檢查OpenSSL:一般centos7上默認(rèn)裝好了
[root@zq testzq]# openssl version
OpenSSL 1.0.2k-fips? 26 Jan 2017
2、生成私鑰和自簽名的SSL證書(shū):
2.1、生成私鑰攒霹,參數(shù)genrsa:生成RSA私鑰;-des3:des3算法浆洗;-out server.pass.key:生成的私鑰文件名催束;2048:私鑰長(zhǎng)度
[root@zq testzq]# openssl genrsa -des3 -out server.pass.key 2048
Generating RSA private key, 2048 bit long modulus
.............................................................+++
.......................+++
e is 65537 (0x10001)
Enter pass phrase for server.pass.key:
Verifying - Enter pass phrase for server.pass.key:? ? ? ? ? ? ? ? #輸入一個(gè)4位以上的密碼
[root@zqtestzq]# ll
-rw-r--r-- 1 root root 1751 1月? 20 11:01 server.pass.key? #有密碼的私鑰文件
2.2伏社、去除私鑰中的密碼
[root@zq testzq]# openssl rsa -in server.pass.key -out server.key
Enter pass phrase for server.pass.key:
writing RSA key
[root@zq testzq]# ll
-rw-r--r-- 1 root root 1679 1月? 20 11:01 server.key? ? ? ? ? ? #無(wú)密碼的私鑰文件
-rw-r--r-- 1 root root 1751 1月? 20 11:01 server.pass.key? ? #有密碼的私鑰文件
[root@zq testzq]# openssl genrsa -des3 -out server.pass.key 2048
Generating RSA private key, 2048 bit long modulus
.............................................................+++
.......................+++
e is 65537 (0x10001)
Enter pass phrase for server.pass.key:
Verifying - Enter pass phrase for server.pass.key:? ? ? ? ? ? ? ? #輸入一個(gè)4位以上的密碼
[root@zqtestzq]# ll
-rw-r--r-- 1 root root 1751 1月? 20 11:01 server.pass.key? #有密碼的私鑰文件
2.2、去除私鑰中的密碼
[root@zq testzq]# openssl rsa -in server.pass.key -out server.key
Enter pass phrase for server.pass.key:
writing RSA key
[root@zq testzq]# ll
-rw-r--r-- 1 root root 1679 1月? 20 11:01 server.key? ? ? ? ? ? #無(wú)密碼的私鑰文件
-rw-r--r-- 1 root root 1751 1月? 20 11:01 server.pass.key? ? #有密碼的私鑰文件
2.3摘昌、生成CSR(證書(shū)簽名請(qǐng)求文件)
[root@zq testzq]# openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Guangdong/L=Guangzhou/O=xdevops/OU=xdevops/CN=gitlab.xdevops.cn"
參數(shù)說(shuō)明:# req 生成證書(shū)簽名請(qǐng)求? ?
? ? ? ? ? ? ? ? ? # -new 新生成? ? ? ? ? ?
? ? ? ? ? ? ? ? ? # -key 私鑰文件? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? # -out 生成的CSR文件? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? # -subj 生成CSR證書(shū)的參數(shù)
2.4、生成自簽名的SSL證書(shū)
[root@zq testzq]# openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt? #-days:證書(shū)有限期(天)
Signature ok
subject=/C=CN/ST=Guangdong/L=Guangzhou/O=xdevops/OU=xdevops/CN=gitlab.xdevops.cn
Getting Private key
[root@zq testzq]# ll
-rw-r--r-- 1 root root 1241 1月? 20 11:00 server.crt? ? ? ? ? ? #自簽名的SSL證書(shū)
-rw-r--r-- 1 root root 1021 1月? 20 11:00 server.csr? ? ? ? ? ? #簽名文件
-rw-r--r-- 1 root root 1679 1月? 20 11:01 server.key? ? ? ? ? ? #無(wú)密碼的私鑰文件
-rw-r--r-- 1 root root 1751 1月? 20 11:01 server.pass.key? #有密碼的私鑰文件nginx
三第焰、nginx配置
server {
? ? listen? ? ? 8443;
? ? ssl? ? ? ? ? on;
? ? ssl_certificate /home/testzq/server.crt;? ? ? #配置已簽名的SSL證書(shū).crt
? ? ssl_certificate_key /home/testzq/server.key;? #配置已簽名的證書(shū)私鑰.key
? ? .............................................
server {
? ? listen? ? ? 443;
? ? ssl? ? ? ? ? on;
? ? ssl_certificate /home/testzq/server.crt;
? ? ssl_certificate_key /home/testzq/server.key;