在wordpress服务器上配置uptime-kuma—apache反向代理
今天想做一个状态界面,但是踩了很多坑,写一篇 blog 记录一下
服务器环境:ubuntu20.04-apache2-wordpress
一开始,我想使用 apache 监听 80 端口,然后把 wordpress 和 uptime kuma 分别绑到 3001 和 3002
后来发现假如要改 wordpress 的端口是一件很麻烦的事 ——wordpress 能不改就不改,无数的 bug 等着你
于是,我这样编写了 apache 的配置文件
1 | <VirtualHost *:80> |
至于为什么要这样写,听我细细道来
首先,毫无疑问的,为了不更改端口,我们监听 80 端口,假如是我的 blog 域名,就直接使用默认的 wordpress 路径
但是在配置 uptime kuma 的时候,我踩了很多坑
-
uptime kuma 需要配置 websocket 反向代理,我一开始没有加,后来翻到 https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy 这个 wiki 界面,他给出了示例,于是我就更改了配置文件成这样
-
不过,还没完!问题在于,我的 blog 使用了 cloudflare cdn 加速,它的设置是有一个人类验证来保护,所以 uptime kuma 访问我的 blog 会 403 错误
于是,我通过配置 cloudflare WAF 解决了这个问题
这样,我们就可以解决这个问题,原理是我的服务器 ip 访问 blog 时,跳过验证
同理,我们也可以通过这个功能,让自己也可以免于 cloudflare 的人类验证,我推荐使用请求头,然后使用 ModHeader 给自己添加一个请求头(自己设置一个密钥)
P.S. 我在这中间查资料的时候发现,这个验证会让搜索引擎的 bot 没法搜索到你!!所以要在 WAF 里加一个针对搜索引擎 bot 的跳过