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

鉴客 发布于 2011/01/03 13:12
阅读 6K+
收藏 25

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 的授权,否则他们不会给这个域名颁发证书,于是只好放弃。

加载中
0
loyal
loyal
真的假的,爽?我测试下
0
hzajie
hzajie
好消息啊,谢谢拉.
0
小鑫fork
小鑫fork
居然真的有免费的SSL证书!太感谢了!终于可以告别自签名证书了~
0
hanningkai
hanningkai

我也在做免费SSL这块儿,不用手工生成csr,不用手工配置,全自动化生成及安装。

散人
请问下,具体怎么弄的?
0
helenfu
helenfu

国内沃通CA 提供免费SSL证书,支持所有浏览器,手机终端,颁发很快 http://buy.wosign.com

返回顶部
顶部