`
java-mans
  • 浏览: 11415198 次
文章分类
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics