且行善举,莫问前程。

0%

国内域名不备案怎么玩

Let’s Encrypt

众所周知国内域名不备案是不能随意解析的,放到国外又会影响服务响应速度,使用云服务又增加了开发成本, 备案呢又很麻烦,在上海还需要居住证。但是国内备案只检测 http 的80端口,而 https 的 443端口幸免于难。更是响应 Google I/O 2016 的号召,我们都应该使用 https 来加密我们的网站,这样也能避免 ISP 劫持,最重要的是被运营商劫持。

有很多家免费的 https 证书提供商,如 StartSSL,有效期一年。国内有沃通,有效期也是一年。但是申请和维护都比较麻烦,毕竟是免费的。

但是我们也有其他的选择,Let’s Encrypt,有效期三个月,但是可以使用脚本或者安装 certbot 自动续期。

HTTPS

HTTPS 建立一条安全的网络通道,有效的防止被网络窃听以及中间人攻击

证书类型

HTTPS 证书分三类,浏览器会在地址栏给予不同证书不一样的展现。

  1. DV 域名验证证书
  2. OV 组织机构验证证书
  3. EV 增强的组织机构验证证书

每类证书在审核和验证方面要求严格程度不同,一般自签证书可以利用 Openssl 生成公钥私钥,但是浏览器会有安全警告,12306就是自签证书。所以我们要使用 Let‘s Encrypt 来创建证书。

配置我们的 SSL 证书

lua-resty-auto-ssl

在 Ubuntu 上配置很容易,最好的方案是用 lua,nginx 对 lua的支持极好性能优越,很多负载均衡脚本都是由 lua 编写的。推荐使 用 OpenResty 部署服务器,也可以使用我的lua-jit 版本 的 nginx-lua 来部署, lua-jit 安装 lua-resty-auto-ssl 不是很方便,lua-jit 通过 LuaRocks 安装需要进行一些配置。

Let’s Encrypt Without Sudo

这是提供的 Python 方案。具体可以看letsencrypt-nosudo,文档中已经详细的指出使用方法和 Openssl 的自签方案。

cretbot

自动化创建证书,自动续期。

其他

如果不懂 server 配置文件怎么写的可以使用 ssl-config-generator, 是 Mozilla 搞出来的配置文件生成工具,着实方便。

------ 本文结束 ------