托letsencrypt的福,申请到了免费的并且可以通过在线认证的SSL加密证书,终于摆脱了用自己签名的证书加密SSL连接出现的各种警告信息,也终于可以把全站都转移到HTTPS了。只可惜一个星期只能申请五张证书还包括更新证书,完全不够用啊,当初也不知道有配额,只申请了一个子域名,就在测试的时候更新了几次证书把这周的配额就给用完了,只能继续等待下周重置配额之后再申请其他子域名的证书了,以后再也不手贱了。不过有了letsencrypt之后,申请SSL证书实在是太方便了,并且转到HTTPS之后发现Gravatar头像终于能看到了。
将网站统计集成到每日邮件中
前段时间写了一个每日邮件程序,用来每天早上给自己发一封邮件。然而截至目前,每天收到的邮件内容就只有:你已经存活了….年..月..日,请继续努力!
显然这样的内容作为每日邮件来说有点太直白了,所以准备在邮件里面加一点有技术含量的信息,例如网站的每日统计。
为了实现这个目的,研究了一下PIWIK的API,里面有一个API可以提供每日统计数据,格式为Json,正好符合要求。
调用API的接口为
返回结果如下
其中的nb_uniq_visitors就是我们需要的独立IP访问数。
接下来就是集成到每日邮件程序中
通过如下代码调用API
<?php $json = file_get_contents('https://path/to/your/piwik/index.php?module=API&method=VisitsSummary.get&idSite=1&period=day&date=yesterday&format=JSON&token_auth=YourTokenString'); $piwik = json_decode($json);
在Debian8上安装letsencrypt对HTTPS进行加密
前段时间在VPS上用了自签名的SSL证书来给HTTPS进行加密,虽然用着没什么问题,但是每次访问都会弹出警告信息,浏览器网址也会变成红色,导致每次都要忽略警告才能访问,所以只能自己访问的时候用HTTPS,不能全局跳转到HTTPS。
点击HTTPS信息,会显示证书未认证
用自签名SSL证书加密HTTPS连接除了上面提到的警告信息以外,还有一个缺点就是无法在Chrome中自动保存密码,这样每次登录都要重新输入密码,非常麻烦。
为了解决这个问题,也想过是不是去申请一个认证机构颁发的SSL证书,但是看了价格之后,就放弃了
今天在逛digitalocean社区的时候看到有篇文章介绍Let’s Encrypt提供免费SSL证书,去官网看了下,感觉比较靠谱,虽然有效期只有90天,但是相比其他动辄几百一年的管理费,算是非常合理了。
由于Let’s Encrypt基于ACME,所以可以实现无人值守状态下自动申请证书,自动更新证书以及自动注销证书。绝对是近年来最具颠覆性的一项发明,HTTPS至今没有得到普及的原因就是由于高昂的管理费和复杂的申请步骤,而Let’s Encrypt把这最大的两个困难都给清除掉了。
Let’s Encrypt的优点
- 证书的生成方法和自己签名证书 一样简单
- 生成的证书在客户浏览器网址栏显示为绿色已认证
- 可以生成无限数量的证书
- 证书可以无限次续期
Let’s Encrypt的缺点
- 证书仅能用于HTTPS加密,无法对网站所有者和机构进行认证
安装letsencrypt
$ git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt $ cd /opt/letsencrypt $ ./letsencrypt-auto --help
在Debian8上安装ServerSpeeder优化网络传输速度
锐速官方的支持列表中只支持到Debian7,而Linux内核也只支持到linode59,那么是不是就代表Debian8不能用了呢。当然不会,虽然官方支持列表中没有Debian8,但是经过测试,ServerSpeeder是可以安装在Debian8上并且完美运行的。
安装方法
因为锐速是基于系统内核的,所以首先要把Linux内核版本更换为锐速官方支持的最后版本linode59,并重启主机让内核修改生效
访问锐速官网,登录后台,下载自动安装包,并根据自动安装步骤上传到VPS并解压
执行bash serverSpeederInstaller.sh 运行自动安装,之后输入速锐的用户名和密码进行验证,验证成功后会进行系统检测,之后会提示没有找到符合要求的系统版本,提示相近的版本为Debian_7_4.1.0-x86_64-linode59,输入y同意选择这个版本,之后一路按回车保持默认配置即可。
4.完成安装后,打开/serverspeeder/etc/config 修改如下几个配置参数优化锐速加速效果
advinacc="1" maxmode="1" rsc="1" gso="1"
生成自签名SSL证书的正确方法
一般来说,为了避免敏感信息外泄,涉及密码和敏感信息的页面都必须采用HTTPS连接方式。但由于认证机构的正规SSL根证书非常贵,所以有时只能自己来制作SSL证书。
但是在使用自己生成的SSL证书时,在Apache2的log里会出现如下错误信息
[ssl:warn] server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)