1.安装openssl
http://slproweb.com/products/Win32OpenSSL.html下载安装Win64OpenSSL_Light-1_1_0L.exe即可
2.配置环境变量
变量名: OPENSSL_HOME 变量值:C:\wnmp\OpenSSL-Win64\bin; 变量值为openssl安装位置。
在path变量结尾添加如下 : %OPENSSL_HOME%;
3.配置证书
3.1 cmd到nginx的conf目录下执行,会输入密码,此后会用到
openssl genrsa -des3 -out demo.key 1024
3.2 创建csr证书(这里主要设置的是国家地区以及组织名称等信息,最重要的是Common Name,这里输入的就是我们要用https访问的域名。)
openssl req -new -key demo.key -out demo.csr
3.3 去除密码
在加载SSL支持的Nginx并使用上述私钥时除去必须的口令,否则会在启动nginx的时候需要输入密码。
复制demo.key并重命名为demo.key.org。在命令行中执行此命令:
openssl rsa -in demo.key.org -out demo.key。
3.4 生成crt证书
在命令行中执行此命令:
openssl x509 -req -days 365 -in demo.csr -signkey demo.key -out demo.crt。
4 修改nginx的配置
server {
listen 443 ssl;
server_name localhost;
ssl_certificate demo.crt;
ssl_certificate_key demo.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass https://**.**.**.***:8443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
附加:将keystore(jetty服务器使用的https证书)转crt key文件(nginx使用的https证书)