(一)前言
除了用于反向代理tcp/udp协议,frp还能够代理http协议。其中,将内网的web服务,例如WordPress个人博客,代理至外网以进行访问是最常见的应用场景。
我强烈推荐在个人Linux服务器上安装宝塔面板。一旦安装了宝塔面板,它会推荐您安装LAMP或者LNMP技术栈,这是搭建网站所必需的基础设施。我选择了LNMP(Linux+nginx+mysql+php)进行安装。一键安装完LNMP后,接下来可以轻松搭建个人网站。我选择了WordPress,而在宝塔面板中安装WordPress几乎也只需一键即可完成安装。
(二)配置frp内网穿透
我们运行个人wordpress,不是为了晚上回家,一个人在自己的内网电脑上欣赏,那没有任何意义。我们必须把它发布出去,在外网也能方便的访问到。我们需要借助于frp内网穿透,将运行在内网机器上的博客,发布到外网上去。为此,需要修改frp server和client的配置。
虽然看frp的官网的http例子,配置很简单,实际我折腾了很久才搞定,原因后面会说。
折腾很久的原因是:
1)我发现,frp client的local_port和frp server的vhost_http_port必须保持一致,比如说这里都是8085。如果不一致,无论怎么try,在外网都登录不上去。这一点,是和网上的很多教程不一致的地方,原因不详。大家如果遇到类似问题,注意这个地方。
2)custom_domains可以填写域名,也可以填写ip地址。frp官网写的不详细,导致我误以为是填写内网机器的域名或者ip(比如说192.168.0.132,或者127.0.0.1)。实际上不是!实际上,这里需要填写外网服务器(云服务器)的公网ip或者域名。如果填域名的话,这个域名必须是绑定了这个云服务器的,并且通过了工信部认证的域名。
(三)修改了frps.ini和frpc.ini后,需要重启frp服务。(server和client都要重启)
重启服务的方法,见我前面的文章。实际上我是用systemctl来管理frp服务的。只需要运行:
sudo systemctl restart frp
(四)效果验收
原文链接:https://zhuanlan.zhihu.com/p/659428394?utm_id=0