科大博客提供 Google Fonts 加速

由于 fonts.googleapis.com 在国内访问不稳定,USTC Blog 某些主题中的字体加载不出来。现在 LUG 提供了 Google Fonts 加速服务,已经把 WordPress 原始代码和用户主题内的 Google 字体和 CSS、JS 文件替换成了 LUG 的代理,以加速字体的显示。

事实上 360 网站卫士已经提供了 Google Fonts 加速服务(libs.useso.com),但不支持 HTTPS。HTTPS 博客内只能引用 HTTPS 资源,因此不能用他们的服务,只好自建了。我们的做法与他们类似,我们的服务器通过“国际专线”(你懂的)对用户的请求做代理,并修改 HTTP 响应内容中的 URL(例如 fonts.googleapis.com 中会引用 themes.googleusercontent.com 的资源)。感谢 雨路 和 stephen 的建议。

如果您的博客不在科大 LUG 上,也想使用加速服务,请在 WordPress 源码内进行如下替换:

  1. ajax.googleapis.com => ajax.lug.ustc.edu.cn
  2. fonts.googleapis.com => fonts.lug.ustc.edu.cn
  3. themes.googleusercontent.com => google-themes.lug.ustc.edu.cn

如果您的科大博客在此修改之后出现无法显示字体的问题,请联系我们:support (at) blog.ustc.edu.cn。

LUG Wiki添加CAPTCHA插件

LUG Wiki上有数千个疑似机器人注册用户,为了防止恶意的机器人注册,我安装了dokuwiki的CAPTCHA插件,目前的验证方式是算术题。

Wiki的管理员可以通过“配置设置”来设置验证出现的位置和验证形式。

Ganglia 在图像中去除噪点

现在 status.lug.ustc.edu.cn 网络流量的噪点消失了。由于我们观察到这些噪点的数值都在 1e+15 以上,而且正常的数值都没有这么大,因此用了 dirty 的做法:修改 rrdtool 源码,把 1e+15 以上的值在画图时去掉。

Based on rrdtool 1.4.7, in src/rrd_graph.c, function data_proc:

1286a1287,1291
> #define RRD_DATA_FILTER_THRESHOLD 1.0e+15
>               if (value > RRD_DATA_FILTER_THRESHOLD) {
>                   value = DNAN;
>               }
>

nsupdate 不慎删除 lug.ustc.edu.cn 的 MX 记录

3月9日(上周日)lug 服务器恢复,将 lug.ustc.edu.cn 的 DNS 记录从备份服务器切换回来时,误删除了 MX 记录,导致 LUG 核心成员无法收到发往 lug AT ustc.edu.cn 的邮件。发件人显示发送成功,是因为 mail.ustc.edu.cn 已经收到邮件,只是在自动转发给 LUG 核心成员的过程中出现了问题。

nsupdate 时请不要使用 update delete lug.ustc.edu.cn 命令,而是使用 update delete A lug.ustc.edu.cn,update delete AAAA lug.ustc.edu.cn,这样 MX、TXT 等记录就不会受到影响。

关于“转发”的解释:由于科大邮箱的自动转发列表人数受限,lug AT ustc.edu.cn 自动转发到 staff AT lug.ustc.edu.cn,这个 MX 记录指向 blog.ustc.edu.cn(因为懒得在 lug 上再搭一个邮件服务器了),再由我们的服务器转发到 Gmail 邮箱。

感谢 完颜许哲 通过邮件列表和人人网多次报告,这个问题才得以发现。

SSL 统一更新 options

昨天部署的 SSL 服务器选项过时了,被 ssllabs 评级为 F。现统一修改 nginx options 如下,评级为 A。

        ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers RC4:HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;

https://www.ssllabs.com/ssltest/analyze.html?d=lug.ustc.edu.cn
https://www.ssllabs.com/ssltest/analyze.html?d=blog.ustc.edu.cn

lug.ustc.edu.cn 启用 SSL

https://lug.ustc.edu.cn/ 和 https://status.lug.ustc.edu.cn/ 即日起启用 SSL。不加密的 http URL 将自动跳转到安全的 https URL。不靠谱地推测,这可能是第一个有合法 SSL 证书的高校 LUG 主页,也可能是科大第一个有合法 SSL 证书的子域名。

由于 StartSSL 证书在 2009 年才被 M$ 承认,如果一台老爷机 2009 年以来从未更新,则可能显示证书错误。因此我们在 nginx 里做了 User-Agent 检查,仅对不是 IE 5,6,7 版本的浏览器进行跳转。因此用 curl 或 wget 是不会自动跳转到 https 的。

    if ($http_user_agent ~ "Mozilla") {
        set $test "Browser";
    }
    if ($http_user_agent ~ "MSIE (5|6|7)") {
        set $test "IE-legacy";
    }
    if ($scheme = "https") {
        set $test "secured";
    }
    if ($test = "Browser") {
        rewrite ^/(.*)$ https://$host/$1 permanent;
    }

LUG FTP, TimeMachine, Ganglia 恢复

lug 服务器服务已经恢复,DNS 已经从备份站点切换回去,LUG 主页、FTP、Ganglia 服务已恢复正常。TimeMachine 应该也恢复了,求测试。

本次故障是 dist-upgrade引起, sudoers 语法错误致使无法远程修复,又赶上国庆假期,无法进入机房接触机器进行快速修复,一直拖到10月10日。

详细报告请见http://lug.ustc.edu.cn/wiki/user/vastuniverse/lug-upgrade-failure