pem的证书就是crt证书和ca证书内容整到一起就行了,还需要注意顺序不能颠倒了。
生成RSA密钥
openssl genrsa -des3 -out nginx.key 1024
#实际使用中看服务器性能,如果足够好也可以使用4096位秘钥
> Enter pass phrase for nginx.key: #输入密码,自定义,不少于4个字符
> Verifying - Enter pass phrase for nginx.key:#确认密码
生成证书请求
openssl req -new -key nginx.key -out nginx.csr
> Enter pass phrase for nginx.key: #输入刚刚创建的秘密码
> Country Name (2 letter code) [XX]:CN #输入国家名称
> State or Province Name (full name) []:ShangHai #输入省
> Locality Name (eg, city) [Default City]:ShangHai #输入市
> Organization Name (eg, company) [Default Company Ltd]:ACBC #输入公司
> Organizational Unit Name (eg, section) []:Tech #输入部门
> Common Name (eg, your name or your server's hostname) []:*.mydomain.com #输入域名、或IP
#注意,此处应当填写你要部署的域名,如果是单个则直接添加即可,如果不确定,使用*,表示可以对所有mydomain.com的子域名做认证
# Email Address []:admin@mydomain.com #以域名结尾即可
> A challenge password []: #是否设置密码,可以不写直接回车
> An optional company name []: #其他公司名称 可不写
创建不需要输入密码的RSA证书 (否则每次reload、restart都需要输入密码)
openssl rsa -in nginx.key -out nginx_nopass.key
> Enter pass phrase for nginx.key: #之前RSA秘钥创建时的密码
签发证书
openssl x509 -req -days 3650 -in nginx.csr -signkey nginx.key -out nginx.crt
> Enter pass phrase for nginx.key: #RSA创建时的密码
nginx ssl 配置
server_name test.mydomain.com; #与申请时的域名保持一致,否则会报错
ssl_certificate xx;
ssl_certificate_key xx;