产品介绍

  • 维瑞_销售: 维瑞_售前顾问

  • 维瑞_技术: 维瑞_技术支持

  • MSN: [email protected]

    销售QQ: 112580 3355

    Email:[email protected]

    Tel : 0755-6660 8110

    EditRegion5

    SSL证书部署指南 - Nginx

    一、概述
    1、  简单介绍

    Nginx是目前最新的高性能Web服务器,和传统的Apache服务器相比,特别在大量的客户并发连接下,性能要提高10倍以上。很多大型的PHP网站都采用了Nginx服务器。虽然Nginx采用是Linux2.6内核和epull架构的网络I/O模型,但在使用上和Apache还是比较相似,是Apache一个非常不错的替代产品,下面主要介绍一下Nginx下使用SSL证书的一些内容。

    2、  工具及环境

    点击以下链接下载并安装Openssl工具,下载地址是:win32openssl-0_9_8.exe

    二、制作CSR申请文件

    1、  产生证书私钥和证书请求文件(CSR)

    Openssl工具安装成功后,点击“开始”菜单,在“运行”一栏输入“cmd”,然后点击“确定”,进入openssl目录:

    openssl req -new -nodes -keyout server.key -out server.csr

     
    Loading 'screen' into random state - done
    Generating a 2048 bit RSA private key
    .........................................+++
    ........................................+++
    writing new private key to 'server.key'
    ----------------------------------
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -------------------------------
    Country Name (2 letter code) [AU]:CN
    State or Province Name (full name) [Some-State]:Guangdong
    Locality Name (eg, city) []:Shenzhen
    Organization Name (eg, company) [Internet Widgits Pty Ltd]: Shenzhen Willrey eCommerce Limited
    Organizational Unit Name (eg, section) []:IT Dept.
    Common Name (eg, YOUR name) []:www.willrey.com
    Email Address []:
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:


    从Email地址开始,下面的信息都不需要,请保留为空,直接回车即可。在完成了如上的交互信息输入后,当前目录下将产生两个文件:server.key 和 server.csr。请妥善保存这两个文件,请不要泄露server.key私钥文件.

    2、  详细介绍命令:

    字段
    说明
    示例
    Country Name
    ISO国家代码(两位字符)
    CN
    State or Province Name
    所在省份
    Guangdong
    Locality Name
    所在城市
    Shenzhen
    Organization Name
    公司名称
    Shenzhen Willrey eCommerce Limited
    Organizational Unit Name
    部门名称
    IT Dept.
    Common Name
    申请证书的域名
    www.willrey.com
    Email Address
    不需要输入
    A challenge password
    不需要输入

    3、  提交CSR 给维瑞客服

    保管好server.key私钥文件,提交CSR给等待证书签发 .

    三、安装证书文件
    1、  获取证书的公钥

    您会收到一封证书邮件,证书内容附在邮件中。请将邮件中的证书部分的内容Notepad存成一个纯文本文件,并确定证书内容中不含有空行和空格,文件名可以为server.cer

    2、  获取中间证书

    不同的SSL证书对应不同中级根证书格式文件,请到VeriSign/Thawte/Geotrust 官方网站下载,或者联系维瑞客服

    3、  合并证书公钥

    请用Notepad打开中间证书,并复制中间证书中的所有内容,粘贴到Server.cer文件最后,再次保存好server.cer文件,并将此文件和制作CSR时候生成的server.key一起复制到服务器上。

    4、  修改nginx.conf文件

    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 req -new -nodes -newkey rsa:2048 -keyout server.key -out server.csr

    2、  如何制作中文的CSR文件

    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中。