使用 Cloudflare 让你的网站更安全

当有一天你和我一样在维护独立博客(或者其他网站)时,你一定更希望将精力聚焦于网站内容上,而非耗费大量时间来解决有关站点性能以及安全方面的问题。作为世界上最大网络的拥有者,Cloudflare® 为像我们一样的网站管理员推出免费层级的服务,提供网站性能与安全性方面的一站式解决方案。

2020 年 12 月 Google 宕机事件复盘

你会在意云服务的可用性到底是 99.99% 还是 99.9999% 吗?要知道,互联网世界中再健壮的基础设施也有不可靠的时候

2020 年 12 月 14 日凌晨 4 点,来自美洲地区的用户发现,所有需要使用 Google 账号登录的站点都发生问题:访问 Gmail、YouTube 等服务时均提示错误信息。一些依赖 Google 账号体系的第三方服务(如 Figma 等)也遇到错误。此时正值欧洲时间正午、东亚晚间时段,许多使用 Google 服务的用户和企业均受到影响。

如何使用自己的域名搭建邮箱

最近@赵一霖同学正在折腾电子邮件服务器,因为他希望有一个名字叫 zhaoyilin 的邮箱地址。我们都知道,RFC 5322 中规定了电子邮箱地址的格式为 local-part@domain。然而许多常用的邮箱名称在大型的邮件服务商(比如后缀 @outlook.com 或者 @qq.com)已经被注册。一个曲线救国的方法是在互联网上注册自己的域名,并且使用类似 [email protected] 这样的邮箱地址。成功注册一个新域名后,我们便开始了自定义域名邮箱的配置之旅。

使用 Certbot 管理来自 Let’s Encrypt 的证书

作为新型的免费、开放、自动化的证书颁发机构,Let’s Encrypt 自 2015 年来为推动互联网 HTTPS 化做出了卓越的贡献。Certbot 是最流行的基于 Let’s Encrypt 的客户端,用于在服务器上简化 HTTPS(SSL/TLS)证书的申请流程。本文中,我们介绍通过 Certbot 客户端为网络服务器添加删除 HTTPS 证书、吊销证书,以及为已有证书添加新域名的操作。

Let’s Encrypt 的前世今生

当你畅游网络时,你是否注意到访问大多数网站时浏览器地址栏中提示的 https:// 前缀以及“安全锁”图标呢?它们的出现表示你正在访问的网站采用了一种被称为“传输层安全”的技术,以增强你与这些网站连接时的保密性。

根据 2020 年初由 Google 发布的统计,用户使用 Chrome 浏览器在所有渠道访问的网站中有超过 80% 采用了传输层安全技术。然而仅仅在五年前,这个数字还不到一半。Let’s Encrypt 等新型证书颁发机构的出现为互联网安全方面的提升做出了卓越贡献。

Firefox 浏览器中的地址栏,可以看到盾牌、安全锁以及 https 字样的提示
当使用 Firefox 浏览器访问本站时,地址栏中的“安全锁”图标提示

超文本传输协议(HTTP)中的响应状态码

本文内容评论 RFC 7231 第六章节

超文本传输协议(HTTP)的有趣之处在于,对于客户端向服务器发送的任意有效的请求,服务器都会做出响应。在这些响应报文中,包含了一组由三位数字组成的状态码,被称为响应状态码(Response Status Code),以表示服务器理解、尝试执行客户端所发出请求的结果。我们熟悉的 404(找不到网页)就是标准中定义的响应状态码之一。在本文中,我们首先回顾 HTTP RFC 标准中对于响应状态码的相关定义,然后对标准中定义的常见响应状态码给出解释。

HTTP 方法及其幂等性

本文内容评论 RFC 7231 第四章节

当我们试图通过浏览器的刷新功能重新加载购物网站的下单页面时,我们时常会遇到类似“要重新显示网页,浏览器可能需要重新提交请求”的提示——这表明用户浏览器认为重复向该网页提交数据可能会造成未预期的副作用(例如重复下单)。而对于另一些,无论用户执行多少次都不会影响系统状态的请求(比如获取用户购物车信息),我们则称它们是幂等(Idempotency)的:这个从数学中引入的术语表示某个元素无论经过多少次特定运算后,结果仍然不变。

互联网中的跨域资源共享(CORS)策略

本文参考了来自 MDN Web Docs 的诸多内容。

网站开发者在开发调试过程中常会遇到有关浏览器阻止对跨域资源(Cross-Origin Resource,COR)进行任意访问的问题:当位于某个域(如 example.com)的网站想要去访问位于另一个域(比如 user.example.com)的资源时,同源访问(跨域资源共享)的相关策略便会生效。在上例中,开发者或许只是想动态拉取位于 user.example.com/user.json 的用户列表文件,用于在网页中向用户展示,而现代浏览器的跨域资源共享(Cross-Origin Resource Sharing,CORS)策略却禁止了这种访问方式。发生了什么?