在第三方CA机构创建一个SSL证书

由于一些中国特色的原因,本站不能在我家的80端口运行了。但是世界上还有一种协议叫做SSL,世界上还有一种端口叫做443.

443还开放,人间就有爱。

这里找到使用startssl认证的指导,这是一家被Chrome,Safari和IE,对没错,微软,信任的证书机构,而且是免费的。

生成自签名证书并配置Apache,以及提交申请给CA的认证文件的方法,在这里

最后的结果是一个.pem/.crt的证书文件和一个.key的密钥文件。复制apache2的site-available下默认的default-ssl.conf修改证书文件路径和网站基本配置,即可。

Apache的Rewrite中这样配置,将http请求转发到https上:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

TODO: 根域名CNAME解析将造成mx记录异常。之前将uice.lu CNAME到花生壳,uice.lu下的mx记录设置为腾讯企业邮箱,Gmail发的能收到,但startssl发的就没有收到。临时将uice.lu改为A记录到Google IP解决问题。但不是长久之计,除非我使用ddns.uice.lu来CNAME,而uice.lu将不用作动态域名。总觉得还有哪里不对。更新:uice.lu和www.uice.lu需要解析到接入商的主机,不然备案有被注销的风险。但ddns.uice.lu可以使用A记录,因为DNSPod提供了API,可以从服务器自动更新动态IP。

更新:除了证书文件和私钥文件,“证书链”文件也需要在Apache中被配置,否则将导致有的浏览器认为证书无效。StartSSL的FAQ

更新:2015年7月16日发现电信家用宽带的80端口已经被重新打开


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据