天天看点

How to Moving SSL Certificate(HTTPS)from IIS to Nginx

因为业务需要,需将将一原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)

<code>server { </code>

<code>listen 443; </code>

<code>server_name www.</code><code>test</code><code>.com; </code>

<code>ssl on; </code>

<code>ssl_certificate </code><code>/etc/nginx/conf</code><code>.d</code><code>/ssl/</code> <code>cert.pem; </code>

<code>ssl_certificate_key </code><code>/etc/nginx/conf</code><code>.d</code><code>/ssl/server</code><code>.key; </code>

<code>  </code> 

<code>location /{ </code>

<code>proxy_pass http:</code><code>//test</code><code>.com_server_pool; </code>

<code>} </code>

<code>}</code>

      本文转自天山三害 51CTO博客,原文链接:,http://blog.51cto.com/skybug/1610877如需转载请自行联系原作者