#首先进入nginx目录
$ cd /usr/local/nginx/conf/ssl
第一步,为服务器端和客户端准备公钥、私钥
# 生成服务器端私钥
$ openssl genrsa -out server.key 1024 # server.key
# 生成服务器端公钥
$ openssl rsa -in server.key -pubout -out server.pem # server.pem
# 生成客户端私钥
$ openssl genrsa -out client.key 1024 # client.key
# 生成客户端公钥
openssl rsa -in client.key -pubout -out client.pem # client.pem
第二步,生成 CA 证书
$ openssl genrsa -out ca.key 1024 # ca.key
$ openssl req -new -key ca.key -out ca.csr # 根据如下提示 按要求填写你的https证书信息
/*
按要求填写下面的信息,这个信息总共要填写三次,且必须保证三次一致。
Country Name (2 letter code) [AU]:CN # 填写国家名称,两个字母代码(此处我们填写 CN)
State or Province Name (full name) [Some-State]:Wang Jun # 填写自己的名字,这个随便填写
Locality Name (eg, city) []:Dong Guan # 城市名称
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Zmkm # 公司名称
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:dec.crm.com # 此处非常重要,填写是为那个开发域名生成https证书
Email Address []: # You EMail
*/
openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt
第三步,生成服务器端证书和客户端证书
# 服务器端需要向 CA 机构申请签名证书,在申请签名证书之前依然是创建自己的 CSR 文件
openssl req -new -key server.key -out server.csr # 重复填写第二步的信息
# 向自己的 CA 机构申请证书,签名过程需要 CA 的证书和私钥参与,最终颁发一个带有 CA 签名的证书
openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
# 服务器端需要向 CA 机构申请签名证书,在申请签名证书之前依然是创建自己的 CSR 文件
openssl req -new -key client.key -out client.csr # 重复填写第二步的信息
openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in client.csr -out client.crt
最后执行
openssl rsa -in server.key -out server_nopwd.key
# 下面执行 可选择 证书的有效期。 -days 365 表示一年
openssl x509 -req -days 36500 -in server.csr -signkey server_nopwd.key -out server.crt
修改nginx配置文件
$ vi /usr/local/nginx/conf/vhost/www.aaa.com.conf # 修改配置,追加如下
listen 443;
ssl on;
ssl_certificate ssl/crm/server.crt;
ssl_certificate_key ssl/crm/server_nopwd.key;
网友评论