记一次nginx安装https证书过程

该操作手册生成的证书为免费证书,不能作为正式官网使用。操作步骤为:生成证书、配置nginx、测试证书。
一、生成自签名证书
1.使用jdk生成自签名的证书
找到java安装路径,在bin目录中找到keytool.exe文件。

记一次nginx安装https证书过程_第1张图片
2.在该目录打开命令窗口或使用cd/d 进入到该目录
记一次nginx安装https证书过程_第2张图片

3.生成证书
输入命令:
Keytool -genkey -v -alias tomcat -keyalg RSA -keystore d:\local.keystore -validity 36500
参数说明:
-alias指定别名为casserver;
-keyalg指定RSA算法;
-keypass指定私钥密码;
-keystore指定密钥文件名称为local.keystore;
-validity指定有效期为365天。
密码根据自己需求填写记一次nginx安装https证书过程_第3张图片

注意:
1、服务器上如果有多个JDK,请确认环境变量中的JDK路径为tomcat所使用的JDK;
2、如果不在环境变量中,也可切换到指定JDK的bin目录下执行命令;
3、提示的输入keystore密码应与-keypass必须与指定的相同,否则后面tomcat启动会报IO异常(Cannot recover key)。

二、配置tomcat自签名证书
1.生成服务端证书
根据local.keystore文件生成local.cer,执行命令:
keytool -export -alias tomcat -storepass 123456 -file d:\local.cer -keystore d:\local.keystore
参数说明:
-alias指定别名为tomcat ;(注:要和上面生成密钥文件local.keystore一致)
-storepass指定私钥为123456;
-file指定导出证书的文件名为local.cer;
-keystore指定之前生成的密钥文件的文件名。
注意:-alias和-storepass必须为生成local.keystore密钥文件时所指定的别名和密码,否则证书导出失败
eg:

记一次nginx安装https证书过程_第4张图片

2.导入证书文件
生成的服务器的证书local.cer导入到cacerts密钥库文件中,执行命令
keytool -import -trustcacerts -alias casserver -storepass cas123 -file local.cer –keystore cacerts
注:命令执行成功后Server目录下多出cacerts文件。
在这里插入图片描述

3.服务端Tomcat配置
打开conf/server.xml

keystoreFile为tomcat目录下的密钥文件;
keystorePass为私钥密码
truststoreFile为生成的信任文件,如果此处不指定则默认为 J A V A H O M E / j r e / l i b / s e c u r i t y / c a c e r t s 文 件 1. 生 成 客 户 端 密 钥 库 文 件 ( 可 不 用 配 置 ) 单 向 认 证 的 客 户 端 配 置 只 需 生 成 客 户 端 信 任 文 件 c a s e r t s 即 可 。 首 先 将 服 务 端 生 成 的 证 书 文 件 ( 之 前 生 成 的 c a s s e r v e r . c e r 文 件 ) 复 制 到 JAVA_HOME/jre/lib/security/cacerts文件 1.生成客户端密钥库文件(可不用配置) 单向认证的客户端配置只需生成客户端信任文件caserts即可。 首先将服务端生成的证书文件(之前生成的casserver.cer文件)复制到 JAVAHOME/jre/lib/security/cacerts1.casertscasserver.cerJAVA_HOME/jre/lib/security下,
然后打开cmd窗口切换到$JAVA_HOME/jre/lib/security下并执行命令:
keytool -import -trustcacerts -alias casclient -storepass 123456 -file d:\casserver.cer -keystore cacerts
命令执行成功后JDK目录D盘下多出cacerts文件。

三、配置nginx自签名证书
1.转换证书
tomcat使用JKS格式,nginx使用PEM格式。由于生成的证书是jks格式,nginx不能直接用,需要要转成PEM格式,这要用到jks2pfx工具进行转换
下载jks2pfx工具解压后,在解压目录打开cmd,然后输入:
JKS2PFX D:\local.keystore dfsw_123 dfsw exportfile D:
说明:
别名为tomcat、密码是123456的SSL证书导出,运行后将在jks2pfx的解压目录下产生3个文件 exportfile.key、exportfile.crt、exportfile.pfx。
查看PFX文件内容:
openssl pkcs12 -info -in exportfile.pfx
2.配置nginx
修改nginx.conf
server {
ssl on;
listen 443 ssl;
server_name localhost;
ssl_certificate /pro/nginx/cer/exportfile.crt;
ssl_certificate_key /pro/nginx/cer/exportfile.key;
}
server {
listen 80;
server_name localhost;
}
3.重启nginx生效
以上https安装配置完成

你可能感兴趣的:(https,nginx)