MSN: [email protected]
销售QQ: 112580 3355
Email:[email protected]
Tel : 0755-6660 8110
EditRegion5SSL证书部署指南 - Nginx |
|||||||||||||||||||||||||||||
一、概述 | |||||||||||||||||||||||||||||
1、 简单介绍
Nginx是目前最新的高性能Web服务器,和传统的Apache服务器相比,特别在大量的客户并发连接下,性能要提高10倍以上。很多大型的PHP网站都采用了Nginx服务器。虽然Nginx采用是Linux2.6内核和epull架构的网络I/O模型,但在使用上和Apache还是比较相似,是Apache一个非常不错的替代产品,下面主要介绍一下Nginx下使用SSL证书的一些内容。 点击以下链接下载并安装Openssl工具,下载地址是:win32openssl-0_9_8.exe |
|||||||||||||||||||||||||||||
二、制作CSR申请文件 | |||||||||||||||||||||||||||||
1、 产生证书私钥和证书请求文件(CSR) Openssl工具安装成功后,点击“开始”菜单,在“运行”一栏输入“cmd”,然后点击“确定”,进入openssl目录: openssl req -new -nodes -keyout server.key -out server.csr
从Email地址开始,下面的信息都不需要,请保留为空,直接回车即可。在完成了如上的交互信息输入后,当前目录下将产生两个文件:server.key 和 server.csr。请妥善保存这两个文件,请不要泄露server.key私钥文件. 2、 详细介绍命令:
3、 提交CSR 给维瑞客服 保管好server.key私钥文件,提交CSR给等待证书签发 . |
|||||||||||||||||||||||||||||
三、安装证书文件 | |||||||||||||||||||||||||||||
1、 获取证书的公钥
您会收到一封证书邮件,证书内容附在邮件中。请将邮件中的证书部分的内容Notepad存成一个纯文本文件,并确定证书内容中不含有空行和空格,文件名可以为server.cer 不同的SSL证书对应不同中级根证书格式文件,请到VeriSign/Thawte/Geotrust 官方网站下载,或者联系维瑞客服 请用Notepad打开中间证书,并复制中间证书中的所有内容,粘贴到Server.cer文件最后,再次保存好server.cer文件,并将此文件和制作CSR时候生成的server.key一起复制到服务器上。 Nginx的参数配置都在nginx.conf文件中,SSL配置也是如此,下面就是配置举例: server { listen 443; server_name www.willrey.com; ssl on; ssl_certificate server.cer; ssl_certificate_key server.key; } 5、 配置参数说明如下: listen 443:SSL协议监听的端口,SSL协议缺省使用443端口。 server_name:指定SSL网站主机名。 ssl on:SSL功能打开,采用SSL通信协议。 ssl_certificate:证书文件,server.cer ssl_certificate_key:私钥文件,server.key ssl_protoculs:支持的SSL协议标准。 6、 重新启动nginx |
|||||||||||||||||||||||||||||
四、证书的备份和证书的导入 | |||||||||||||||||||||||||||||
1、 备份
在Nginx下的证书备份是非常简单的,打开nginx.conf文件,找到ssl_certificate和ssl_certificate_key指定的2个文件,通常是.cer(.crt)和.key文件,将这两个文件复制到备份媒质上即可。 2、 导入要恢复Nginx的证书同样非常简单,将备份的.cer和.key文件,复制到新的服务器上,然后参考上面服务器证书安装说明,修改nginx.conf文件即可。 五、客户端证书认证 1、 修改nginx.conf文件如果要求客户采用客户证书认证方式,可以在原来的配置下增加如下参数: server { ...... ...... ...... ssl_client_certificate on ssl_client_certificate ca.cer ssl_verify_depth 1 } 2、 配置参数说明ssl_verify_client on: 要求SSL客户证书认证。 ssl_client_certificate ca.cer: 签发客户证书的CA证书,用来验证客户证书。 ssl on:SSL 功能打开,采用SSL通信协议。 ssl_verify_depth 1: SSL客户证书认证链长度。 |
|||||||||||||||||||||||||||||
六、常见问题 | |||||||||||||||||||||||||||||
1、 如何产生2048位的密钥对?
在上面的命令行交互中,我们看到“Generating a 1024 bit RSA private key”,即系统缺省采用1024位的RSA密钥长度,但我们必须采用2048位的密钥长度,要生成2048位的密钥,可以修改上面的命令行:(斜体部分为增加的参数) Openssl本身是可以支持UTF-8编码来支持中文的,但是如果通过DOS命令行是无法输入UTF-8的中文字符的,所以我们必须采用Opnessl.cnf配置文件的缺省值来实现中文字的输入。采用一个文本编辑器支持utf-8字符的,我采用UltraEdit,打开Openssl.cnf文件,首先修改: string_mask = utf8only 这句话将强制字符的输入采用UTF-8的编码格式,然后修改缺省DN信息,录入我们需要合中文字符,如下 commonName_default = www.willrey.com 0.organizationName_default = 深圳市维瑞电子商务有限公司 organizationalUnitName_default = 技术部 stateOrProvinceName_default = 广东省 localityName_default = 深圳市 countryName_default = CN 然后将文件按utf-8,no bom的编码格式保存,在Ultraedit下,请选择“另存为”,格式为“UTF-8 - NO-BOM”。如果没有可以支持UTF-8的编辑工具,也可以下载一个ICONV来做编码转换工作。 准备好openss.cnf文件后,输入命令行: openssl req -utf8 -config config.cnf -new -nodes -batch -keyout server.key -out server.csr 系统将自动生成CSR文件,保存在server.csr中。 |