使用 Startssl 提供的免费证书+Nginx 搭建 https 的网站

使用 Startssl 提供的免费证书+Nginx 搭建 https 的网站

nginx_ssl_1

Startssl 是一家提供免费 SSL 证书的公司,我们可以用其搭建 https 网站,貌似可以被除去Opera 外的所有主流浏览器所信任,过程简单记录如下:

  1. 打开 http://www.startssl.com/ ,注册一个用户,注意这个网站是用证书验证用户身份的,所以证书一定备份好。另外。。。不支持 Chrome,用 Safari 吧。
  2. 登陆后进入 Validations Wizard,验证你要添加 ssl 支持的域名。
  3. 进入 Certificates Wizard,并选择 Web Servers SSL/TLS Certificates。
  4. 创建一个 private key,连同密码一起保管好。(或者你也可以自己在服务器上用 openssl 创建,这里点skip就行了)
  5. 选择一个域名,以及子域名。
  6. 网站会给出证书,保存为 .csr 文件。
  7. 使用 Tool Box 里面的 Decrypt Private Key 或者自己用 openssl 将第4步生成的 private key 解密,并将结果保存为 .key 文件。
  8. 按照修改 nginx 默认的虚拟主机配置文件的范例修改,关键语句如下:

listen          443;
ssl                     on;
ssl_certificate         /etc/nginx/certs/xxxxxx.crt;
ssl_certificate_key     /etc/nginx/certs/xxxxxx.key;
ssl_session_timeout     5m;

ssl_protocols           SSLv2 SSLv3 TLSv1;
ssl_ciphers             ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers       on;

fast_cgi 部分也加入一行:

fastcgi_param   HTTPS on;

另外在这里看到,中文版 Firefox 貌似不会信任这个证书,需要下载 Startcom 的根证书并且附在网站证书后面:

wget http://www.startssl.com/certs/ca.pem 感谢 @startssl 的亲自指正,这个是错误的,应该是:
wget http://www.startssl.com/certs/sub.class1.server.ca.pem
cat sub.class1.server.ca.pem >> xxxxx.crt

重新启动 nginx,即可顺利使用 https 打开虚拟主机了。

nginx_ssl_2 

顺便说一下,Startcom 这个公司貌似有很多人在管理证书颁发这个事情,他们的邮件回复总是非常快。比如上次我想给 img.gd 申请证书,结果发现他们的域名选择里面没有 .gd,于是给他们发去了邮件,Startcom就回信问我要了管理机构网址以及 whois 地址,我回给他们后很快就又收到邮件告诉我说可以用了。再有就是昨天想给谷奥申请一个,结果系统提示申请需要手工审核,并且随后被拒绝,发信过去问原因,告知我 Google 是著名商标,除非我有 Google 的授权,否则他们不会给这个域名颁发证书,于是只好放弃。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值