因为业务需要,需将将一原IIS下的https站点迁移到nginx前端反向代理的架构中。
具体步骤为:
在IIS所在的Windows服务器上导出证书.
1) 【开始】--->【运行】---> MMC
2) 【添加】--->【证书】--->添加
3) 选择【计算机账号】--->NEXT
4) 选择【本地计算机】--->OK
5) 【关闭】--->【确定】
6) 依次展开【证书】--->【个人证书】
7) 右键选择你想导出的证书
8) 【所有任务】--->【导出】
9) 按照提示导出一个pfx文件比如 sslcert.pfx
把pfx文件上传到nginx所在的linux服务器上,
1) 导出Private key
openssl pkcs12 -in [sslcert].pfx -nocerts -out key.pem
2) 从私有key中将密码remove(在1.9中导出pfx的时候会提示输入一个密码来保护这个pfx)
openssl rsa -in key.pem -out server.key
3) 导出证书
openssl pkcs12 -in [sslcert].pfx -clcerts -nokeys -out cert.pem
将上述得到的cert.pem;server.key复制到需要的目录中,比如/etc/nginx/conf.d/ssl/中
编辑test.com.conf(nginx的server的conf)
server { listen 443; server_name www.test.com; ssl on; ssl_certificate /etc/nginx/conf.d/ssl/ cert.pem; ssl_certificate_key /etc/nginx/conf.d/ssl/server.key; location /{ proxy_pass http://test.com_server_pool; } }