2011年10月14日星期五

给网站加个SSL证书

以NginX为例,本文描述两种证书安装方式:

非正式证书

出于测试的目的,可以自行生成证书,步骤相当的简单:

一、生成密钥和证书
  1. openssl genrsa -des3 -out server.key 2048
  2. openssl req -new -key server.key -out server.csr
  3. cp server.key server.key.org
  4. openssl rsa -in server.key.org -out server.key
  5. openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
以上步骤的要点说明如下:
  • 第一步中需要输入密码,这个密码要记住,因为第二步中需要这个密码。
  • 此证书的密钥设置为2048 bit (第一步)、有效期为一年(第五步)。
  • 最终生成的文件有两个:server.key (密钥)、server.crt(证书)。
二、安装证书
  1. 将server.key、server.crt复制到nginx/conf目录下。
  2. 修改nginx.conf文件,打开被注释掉的SSL服务器配置模板,填入所需的密钥和证书文件名。
此处仅说明一点:如果密钥和证书文件在nginx/conf目录下,配置文件中可以直接使用文件名,不然的话,配置文件中需要使用全路径。

正式证书

正式证书的申请制作与非正式的类似。关键是非正式操作中的第五步在正式操作中是由认证机构完成的。你把server.csr提交给认证机构,他们就会发还一个server.crt(注意,可能收到两个文件,其中一个是认证机构的证书,需用cat命令附加在crt文件末尾)。详情可阅读参考文献,并按照认证机构的指示操作。参考文献中介绍了一个值得尝试的免费证书提供商:StartCom的StartSSL(http://www.startssl.com)。

参考文献

http://love.ulnmp.com/?p=271

没有评论: