StartCom 申请 免费的SSL 证书(绑定多个域名)

使用HTTPS协议需要SSL证书,限于公司内部或者自己使用的话自己生成一个SSL证明书就可以。但是对外提供服务的站点或者应用使用HTTPS通信时,就不能使用自制的SSL证明书。
SSL证明书给人价格昂贵的印象,但是也有免费提供SSL证明书的服务商,如StartCOM就提供免费的SSL证明书。
通过以下简单的几个步骤,就可以从StartCOM获取免费SSL证明书。

1、注册登录(https://www.startssl.com/)

首先需要说明一点,StartSSL 继续沿用了以往的登录方式:证书登录!

这也是很多人在过去兴致勃勃的冲到 StartSSL 想要申请一个属于自己的数字证书时,被那个非常不友好的 StartSSL 界面卡在了新用户注册这第一个环节……

所以,在 StartSSL 上的全部操作,用的都是一张 Email 证书,不需要用户名密码什么的。

首先访问 StartSSL.com 点击 Sign-up 进行注册
这里写图片描述

这里写图片描述

2、验证域名

想要获得某域名的证书之前,首先要验证该域名的所有权。

这里写图片描述

选择上面的Validations Wizard,启动验证向导,在下面选择Domain Validation对域名进行验证,点击继续,来到下一步

这里写图片描述

输入想要验证的域名,注意这里我用的是顶级域名,至于二级以上域名是什么情况,我没进行验证,不过看此文的童鞋,应该都有顶级域名吧:)

填入想要验证并获得证书的域名后,StartSSL 系统会自动对该域名进行whois查询,找到域名所有者的电子邮件地址,并让你选择将验证邮件发到哪个邮箱,只能选择查询到的域名所有者邮箱或者列出的其他三个常用形式的管理员邮箱,其他邮箱是无法进行验证的。

这里写图片描述

这里还会遇到个问题,如果你的域名服务商为你开启了隐私保护,那么这里的域名所有者邮件地址一般情况不会查询到真正可操作的邮箱,比如阿里云的域名隐私保护如果开启了,列表中第一个邮箱会是以阿里云结尾的一个伪装邮箱,经测试,这个邮箱是无法收到任何邮件的(本以为会代为转发),所以在进行这一步之前,一定要暂时关闭隐私保护。

如果你的邮箱服务器比较稳定,会立刻收到验证邮件,按照邮件里的说明将验证码输入进页面里点击验证,域名就验证成功了。

如果域名已经验证,可以跳过上述步骤:

申请证书了,点击上方的“Certificates Wizard”,进入页面后,点击右方的“DV SSL Certificate”进入提交资料页面。

备注:免费的ssl证书是DV
Class1证书,属于基本证书,只用验证域名,颁发速度也很快。还有IV,OV,EV等更高的逼格的证书(我只能这么介绍了,分别提交的资料更多一些,看下图应该能明白,当然是收费的),我们这里只需要密文传输,所以DV
Class1的证书完全满足了。

这里写图片描述

3、申请证书

开始,重新回到控制面板,选择上面的Certificates Wizard启动证书申请向导,默认选择第一项Web Server SSL/TLS Certificate并下一步。

这里写图片描述

这时需要填写需要认证的域名,最多10个,把带www和不带的都写上,如果还有其他的二级域名也可以写上。

这里写图片描述

填写好域名,我们开始关注页面的下半部分,这一部分是需要我们提交认证签名请求(CSR),我们选择第一项Generated by Myself,使用工具自己生成签名文件及对应密钥。

这里注意看提示,StartCom 很贴心的提供了一个 Windows 平台上使用的绿色工具,一键完成签名文件及对应密钥的生成工作。当然,如果在其他平台,或者喜欢用openssl,也可以根据提示的命令进行生成:

openssl req -newkey rsa:2048 -keyout yourname.key -out yourname.csr

如果机器性能够强(服务器),也可以使用rsa:4096,更高算位提供更高安全性,不过性能会受到影响,记住我们生成的证书是要给服务器用的,你需要在负荷及安全性上做权衡了。

那么怎么生成 CSR 呢?这里演示一下 StartCom 的小小绿色工具的用法,首先在这个页面中点击StartComTool.exehttp://download.csdn.net/detail/ityang_/9791116下载到本地,运行该程序:

如果文本框里已经有内容了,就点一下Clear

直接点击下方绿色的Generate CSR按钮,在弹出的对话框中选择路径,保存相关文件(比如给文件起名叫 app.ityangs.com.key),这一步工具会自动为我们生成两个名称相同的文件,一个是 CSR,一个是 Key,这两个文件都要保存好,一个是签名内容(PEM 格式),一个是密钥文件,密钥文件在下一步配置 Nginx 时会用到。

这里写图片描述

然后,将文本框中的 CSR 内容复制粘贴到浏览器的文本框中(直接点“Copy”按钮,回到浏览器粘贴即可)

这里写图片描述

之后,我们点击Submit提交申请。

不出意外的话,我们的证书文件立刻就生成好了:

这里写图片描述

这里注意,我们不能用下载工具进行下载(因为 StartCom 的证书认证机制),请点击右键选择“目标另存为”使用 IE 的方式进行下载。

下载回来的是一个压缩包,解开看一看,原来 StartSSL 很贴心的为我们生成了一套对应各个常用服务器的证书文件,我们这里把 Nginx 的对应证书文件单独解压出来,得到一个.crt文件,先放好这个文件,一会儿会用到。

4、安装证书(Nginx)

我们需要将文件上传到服务器,有两个文件,一个是 CRT 证书文件,一个是 KEY 密钥文件
这里将每套两个文件做如下命名:

www.xxx.com.crt
www.xxx.com.key

然后传到服务器上,我的建议是将上面的文件统一放在下面的路径中(这个路径也是 *nix 平台规范建议的 SSL 证书存放路径,便于管理,既然有“先人指路”,我们不妨照做:

# /etc/ssl/private/

值得注意的是,将文件放在这个文件夹中,需要用到 root 权限,即sudo cp,放进去后的文件所属用户保持root:root就好,Nginx 的执行进程是可以读取的。

配置 Nginx

先别急,这里说明一下,启用 SSL 的一般做法是,虚拟主机的主server段不监听 80 端口,而是直接监听 443 端口,然后在主server配置段后新开一个server段监听相同server_name的 80 端口,并将请求 301 重定向到 HTTPS.

这样做的好处是,不管访问者是否制定 HTTPS 协议(一般人上网大都只会输入域名,不会先写协议的吧……),只要输入域名,Nginx 接到请求后就会将请求重定向到 443 端口的 SSL 主机上。

下面我们也打算这么做,以我为例:

SSH 到服务器上,编辑虚拟主机的 conf 配置文件:

sudo nano /usr/local/nginx/conf/vhost/www.xxx.com.conf
server {
        listen       80;
        server_name  xx1.top www.xx1.top;
        rewrite ^ https://$host$request_uri;
}


server {
        listen       443;
        server_name   xx1.top www.xx1.top;
        root   /var/www/my/xx;    
        ssl on;
        ssl_certificate /etc/ssl/private/www.xxx.com.crt;
        ssl_certificate_key /etc/ssl/private/www.xxx.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
        ssl_prefer_server_ciphers on;   
       ...(其他配置)...
}

5、其他

当然,启用 SSL 加密通信,还是那个万年不变的弊端,如果你的网站有外链的话,至少 IE 浏览器在的默认安全级别之下,始终会有个烦人的安全提示,类似“此网站不安全”!并会自动关闭掉你所有的外链内容读取。本来是更加安全的通信模式,就因为这提示,反倒会让访问者看着不放心……

特别是越来越趋势化的扁平设计风格,更多的引用一些开放的 JS 公共库以达到更好的页面效果,这时候如果启用 SSL,至少 IE 的那个恶心提示,几乎是无可避免的了,好在如 Gravatar 这类开放服务,都具备 HTTPS 能力支持。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值