@IM是为了方便印象搜索网盘 而开发的及时通讯系统。现在准备开辟一个专栏来写我在开发此网站遇到的点点滴滴。这是第一篇:免费https证书。
免费https证书网上一搜,基本上就定位Start SSL这个https证书服务提供商,主要根据下面这边博客来申请证书:
http://www.freehao123.com/startssl-ssl/
根据博客指引,申请下来证书,主要包括两个文件:
im.impress-ssl.key im.impress-ssl.crt
申请下来的 im.impress-ssl.key 是包含密码信息在里面的,不能直接使用,在使用nginx进行验证时,是需要输入密码的,启动nginx由于招不到密码,会导致启动失败,所以需要去掉密码信息:
openssl rsa -in im.impress-ssl.key -out unpass-im.impress-ssl.key
本来这样就基本可以了,但是,Start SSL会在Firefox, Opera, IE上会报证书不识别的错误,只有Chrome能识别,根据以下文章,http://www.gaojinbo.com/nginx-https-%E5%85%8D%E8%B4%B9ssl%E8%AF%81%E4%B9%A6%E9%85%8D%E7%BD%AE%E6%8C%87%E5%8D%97.html
==============2009/11/26 update===================
在startssl forum看到官方人员说firefox3.5不支持是因为没有配置好。经过配置解决了firefox 3.5不信任该证书的问题,ubuntu studio下测试通过。
步骤是:获取https://www.startssl.com/certs/ca.pem
获取https://www.startssl.com/certs/sub.class1.server.ca.pem
cat ca.pem sub.class1.server.ca.pem >> ca-certs.crt
cat ca-certs.crt >> security.cer
所有执行操作:
wget https://www.startssl.com/certs/ca.pem wget https://www.startssl.com/certs/sub.class1.server.ca.pem cat ca.pem sub.class1.server.ca.pem >> ca-certs.crt # 就是添加Start SSL服务商的信息 cat ca-certs.crt >> im.impress-ssl.crt
添加SSL到nginx服务器:
server { listen 443 ssl; server_name im.impress.pw; root im_root; index index.htm; ssl_certificate ssl/im.impress-ssl.crt; ssl_certificate_key ssl/unpass-im.impress-ssl.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; ..... }
重启nginx,OK!