由于一些中国特色的原因,本站不能在我家的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端口已经被重新打开
发表回复