测试环境
Windows Server 2012 R2 Datacenter
nginx-1.14.0
步骤
1.生成证书
a.这里使用自己生成的免费证书。在${JAVA_HOME}/bin 下可以看到keytool.exe,在改目录打开cmd然后输入:
keytool -genkey -v -alias tomcat -keyalg RSA -keystore d:\local.keystore -validity 36500
生成别名为 tomcat 名称为local.keystore的证书,有效期100年。然后密码什么的根据自己需求填写。
生成jks格式证书后,要转成pfx格式的,这要用到jks2pfx工具进行转换。
b.下载jks2pfx工具解压后,在解压目录打开cmd,然后输入:
JKS2PFX d:\local.keystore 123456 tomcat exportfile D:\Program Files\java\JDK7\jre7\bin
jks2pfx的命令格式:JKS2PFX keystore password alias exportname Java_Runtime_Folder
c.上面的命令是把d盘下的local.keystore(根据你自己keystore的位置来写)中别名为tomcat、密码是123456的SSL证书导出,运行后将在jks2pfx的解压目录下产生3个文件 exportfile.key、exportfile.crt、exportfile.pfx。本文只要用到exportfile.key、exportfile.crt,把这两个文件复制到${NGINX_HOME}/conf目录下。
2.配置nginx
修改nginx.conf,把要实现https的server像下面这样配置:
# HTTPS server
#
server {
listen 443 ssl;
server_name localhost;
ssl_certificate exportfile.crt;
ssl_certificate_key exportfile.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
}
重启nginx生效