HTTPS 常见部署问题及解决方案

在最近几年里,我写了很多有关 HTTPS 和 HTTP/2 的文章,涵盖了证书申请、Nginx 编译及配置、性能优化等方方面面。在这些文章的评论中,不少读者提出了各种各样的问题,我的邮箱也经常收到类似的邮件。本文用来罗列其中有代表性、且我知道解决方案的问题。[...]

继续阅读 »

开始使用 VeryNginx

VeryNginx 是一个功能强大而对人类友好的 Nginx 扩展程序,这是作者的原话。很久之前我就看到过这个项目,直到最近我才在本站试用了一把,确实好用,于是想通过本文把它介绍给更多人。 VeryNginx 主要由两部分组成:基于 lua-nginx-module 开发的 Lua 脚本,以及基于 HTML/CSS/JS 开发的 Web 控制面板 —— 用于生成和管理 Lua 脚本所需配置。[...]

继续阅读 »

iOS 10 Safari 视频播放新政策

随着 iOS 10 的正式发布,Safari 也迎来了大量更新,例如新增了对 ES6、CSP2.0、Shadow DOM 等功能和特性的支持。本文为大家介绍 iOS10 自带 Safari 浏览器在视频播放政策上的最新变化。首先划出重点:1)iOS 10 Safari 支持特定视频自动播放;2)iOS 10 Safari 支持视频内联播放。想了解更多细节的同学请接着往下看。[...]

继续阅读 »

开始使用 ECC 证书

我之前的文章多次提到 ECC 证书,但一直没有专门介绍 ECC 证书的文章,今天补上。本文包含三部分内容:1)简单介绍 ECC 证书是什么;2)介绍如何申请 ECC 证书;3)以 Nginx 为例介绍如何使用 ECC 证书。顺便说下,本站已经用上了 ECC 证书。要查看本站主要支持哪些技术特性,可以点这里。[...]

继续阅读 »

HTTP Alternative Services 介绍

HTTP Alternative Services(HTTP 替代服务)是今年上半年由 IESG 通过的一项与 HTTP 有关的新协议。估计很少有人能从名字上猜出它是用来干嘛的,本文从解决什么问题、如何使用以及真实场景下的应用三方面来介绍这份协议。 顺便说一下,HTTP 各种协议除了可以在 tools.ietf.org 找到,还可以前往 httpwg.org 查看。后者格式更丰富,阅读体验更好,例如本文介绍的 HTTP Alternative Services 协议也可以通过这个地址查看。[...]

继续阅读 »

谈谈 Nginx 的 HTTP/2 POST Bug

几个月前,我发现在某些情况下,使用 Safari 无法登录我的博客后台。当时研究了一下,发现这是 Nginx 处理 HTTP/2 POST 请求的一个 Bug。由于随后发布的 Nginx 1.11.0 修复了这个 Bug,我没有再持续关注。直到今天看到 v2ex 这个帖子,我才发现 Nginx 并没有将修复代码合并到当前稳定版中。所以,如果你在使用 Nginx 1.9.15~1.10.x 部署 HTTP/2 服务,请务必看完本文。[...]

继续阅读 »

开始使用 Docker

一年前,我在《开始使用 Vagrant》一文中写到:使用虚拟化软件安装 Linux,有着「统一线下线上环境、不受升级宿主系统的影响、容易备份和恢复」等几大优点,非常适用于搭建 WEB 开发环境。 但 Vagrant 这种依赖 VirtualBox/VMWare/Parallels Desktop 等软件虚拟完整操作系统的方案有几个硬伤,例如占用大量系统资源、新建或启动虚拟机不够迅速等。Docker 是操作系统级虚拟化,它虚拟出来的环境一般被称为 Docker 容器,而不是虚拟机。Docker 容器直接运行在宿主系统的操作系统内核之上,启动一个新的 Docker 容器能在秒级完成。[...]

继续阅读 »

移动 WEB 通用优化策略介绍(二)

算起来已经足足两个半月没有更新文章,这段时间过得比较忙:夜间跑步计划、卖房买房以及工作上各种事情都凑到一块了。实际上,最近也并没有忙到完全抽不出时间写博客这种地步,根本原因可能还是变懒了,这样不好。 几个月前,我决定开始写一系列有关「移动 WEB 通用优化」的文章,介绍「面向所有主流移动端浏览器(包括各种 APP 嵌入的通用 Webview)」的前端优化策略,本文是这个系列第二篇。[...]

继续阅读 »

博客统计报告(2016 上半年)

从 2008 年到现在,我写独立博客已经有八个年头了。这期间我的域名从一开始的 qgy18.com 换成了 imququ.com,博客程序也换过好几版。在这过去的八年里,我从未公开过本博客统计相关数据。 最近我在 v2ex 无意中提到本博客每天有三五千 PV 时,某位同学提出了疑问: 这样的网站平时也有三五千???流量来源哪里?(via) [...]

继续阅读 »

为什么我们应该尽快支持 ALPN?

昨天有位朋友在微信上发过来一个链接:The day Google Chrome disables HTTP/2 for nearly everyone: May 31st, 2016(中文翻译)。看标题这篇文章说的是 Google Chrome 即将大面积禁用 HTTP/2,这究竟是怎么回事呢?本文为你揭晓答案。[...]

继续阅读 »