frp在做网站转发的时候,其默认的404页面上的文字带有frp的链接,间接得暴漏服务器使用frp,可能会导致其他端口被扫描爆破。这样麻烦能避免最好。我们可以下载源码,自行修改404页面之后重新编译frp
配置Go环境
安装依赖
# Ubuntu $ sudo apt-get install bison ed gawk gcc libc6-dev make # CentOS $ sudo yum install gcc
# 添加环境变量 $ vim /etc/profile 在文件的底部添加以下两行: export PATH=$PATH:/usr/local/go/bin export GOPATH=/usr/local/gopath :wq 保存退出后,重新加载profile文件 $ source /etc/profile下载安装Go
Golang各版本的下载地址
# 下载当前最新版的 $ wget https://golang.org/dl/go1.16.2.linux-amd64.tar.gz # 解压到/usr/local $ sudo tar -C /usr/local -xzf go1.16.2.linux-amd64.tar.gz测试Go环境,有输出即可
$ go version下载修改frp
通过go get下载frp的源码
$ go get github.com/fatedier/frpgo get是默认下载到go环境的gopath目录下面.当前最新frp是v0.36.2,如果frp有版本号更新可以自行到进入到目录
$ cd /usr/local/gopath/pkg/mod/github.com/fatedier/frp@v0.36.2frp 的http 404页面写死在frp目录的pkg/util/vhost/resource.go文件里
$ cd /usr/local/gopath/pkg/mod/github.com/fatedier/frp@v0.36.2/pkg/util/vhost $ vi resource.go根据需求简单修改
重新编译,修改完文件,返回到frp目录
$ cd /usr/local/gopath/pkg/mod/github.com/fatedier/frp@v0.36.2 $ make稍等一会,会有一堆输出。编译完之后,frpc和frps在fatedier/frp@v0.36.2/bin目录里
$ cd /usr/local/gopath/pkg/mod/github.com/fatedier/frp@v0.36.2/bin因为我们只需要修改frps的404页面,替换编译好的frps就行了。frp在有http404错误就是我们修改过的页面