使用 Cloudflare 让你的网站更安全

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

在 Ubuntu 20.04 上为 Apache2 HTTP 服务器配置反向代理

反向代理(Reverse Proxy)技术用于解决客户端无法直接访问目标网站、或者目标网站需要向用户保持隐藏的情形。这种技术通过配置一台中间服务器作为反向代理服务器,以实现在客户端和目标网站间转发流量。内容分发网络(CDN)亦采用反向代理技术实现回源访问。

本文介绍在 Ubuntu 20.04 LTS 服务器上针对 Apache2 HTTP 服务器进行反向代理配置的方法,并使用 Let’s Encrypt 的相关服务为前置服务器申请 HTTPS 证书,以增强其安全性。

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

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

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

HTTP 方法及其幂等性

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

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