下载openssl工具并安装
https://www.openssl.org/下载
生成证书
1、生成私钥
# genra 生成RSA私钥
# -des3 des3算法
# -out server.key 生成的私钥文件名
# 2048 私钥长度
openssl genrsa -des3 -out server.pass.key 2048
2、去除私钥中的密码
openssl rsa -in server.pass.key -out server.key
3、生成CSR(证书签名请求)
openssl req -new -key server.key -out server.csr
#Common Name 域名 将是你访问的域名
4、生成自签名SSL证书
# -days 证书有效期
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
说明:
X.509证书包含三个文件:key,csr,crt。
key是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密
csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名
crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息
备注:在密码学中,X.509是一个标准,规范了公开秘钥认证、证书吊销列表、授权凭证、凭证路径验证算法等。
3.配置nginx并重启
首先要确认nginx装了ssl模块
修改配置 必须在443端口
server {
listen 443 ssl;
server_name mdp.com;
ssl_certificate_key /Users/tbtx/local/openssl/server.key;
ssl_certificate /Users/tbtx/local/openssl/server.crt;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://mdp.com;
}
}