之前通过 FRP 来实现了单个网站不泄露证书的 HTTPS 反向代理,但是缺点是一台服务器只能代理一个网站,即一个前端只能对应一个后端。这多少有些不够方便,也不方便与他人合租一台服务器。

SNIProxy 则是一个不错的解决方案。它通过浏览器访问时提供的 SNI 头来判断访问域名,然后可以根据域名来选择转发请求到何处。由于这个过程不涉及加密和解密,因此除了匹配正则表达式几乎没有性能损失,同时也不需要在前端服务器上部署 HTTPS 证书,也无需担心数据泄露的问题。
本教程适用的 Linux 发行版为 CentOS 7.4。 继续阅读 »

最近发现经常出现 502 Bad Gateway,这让我很不爽,山河 OJ 刚刚火了不久,怎么就闹出这种事情来。
后来发现是 ZeroTier One 的锅,于是在 Menci 的建议下,采用 FRP 转发流量到家里的服务器。现在稍作记录,以备今后我自己查看和他人配置需要。

双边配置

首先执行 wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz,下载 frp。并解压。这里我们假定你的 frp 程序在 /opt/frp/ 路径。 继续阅读 »

切换到 Hexo 之后,首要的任务就是把之前的一些轮子再造一遍。

1. 版权声明和原文链接

在旧的博客中,我曾经加入过这样的功能:
版权声明和原文链接
在 emlog 中,这些非常容易做。而在 Hexo 中,这也不是难事。
我使用的是 yilia 主题,在主题的 layout/_partial/article.ejs 中,在 <% post.content %> 之后加入以下代码: 继续阅读 »

上一篇博文说到了让 emlog 支持 Markdown,但是在实际应用中我发现效果并不是非常理想,如在文章中输入\r会换行,以及不支持页面的 Markdown Parse。于是想去改进一下,读了 Editor.md 的文档,我决定基于 Editor.md 实现 Markdown 的 Parser。

1.安装并配置 Editor.md

安装 Editor.md 十分简单,我就不多说了,大家都会的。
重点在于配置 Editor.md,如何配置呢?这取决于你需要怎样的功能,这里推荐你去看看它的 Examples
我的需求是 HTML in Markdown、TOC、以及输出 HTML,流程图和时序图以后恐怕也会用到。我的配置如下: 继续阅读 »