FRP可以帮助大家用域名访问没有独立IP的服务器,比如nas、挂机宝之类的,之前我专门租的香港服务器运行frp,结果速度非常不理想,这次试了试雨云的香港集群的frp,速度非常快,而且首充双倍雨点,算下来比租大带宽优线路的服务器实惠多了。
有服务器、域名、云应用等需求的小伙伴可以使用雨云-新一代云服务提供商,实惠好用。
创建云应用
-
进入云应用

-
找到FRP服务端,点击安装

-
这里选择中国香港,因为免备案,不要选日本,虽然也免备案,但是延迟太高了。配置都选最低的就行,frp不吃配置,端口随意

-
点击安装应用之后就会自动创建一个项目,并自动跳转到项目里

配置FRPS(FRP服务端)
-
点击项目里的FRP服务端进入应用设置界面

-
编辑这个配置文件,token用来连接这个FRPS,请设置复杂一点的密码,webServer.password是服务端UI页面的登录密码,也需要自行设置,subdomainHost是你的域名,修改完成后点击右上角的保存
tomlbindAddr = "0.0.0.0" bindPort = 7000 auth.method = "token" auth.token = "token123456" vhostHTTPPort = 8088 vhostHTTPSPort = 8443 subdomainHost = "aaafast.cn" webServer.addr = "0.0.0.0" webServer.port = 7500 webServer.user = "admin" webServer.password = "admin" # tls #transport.tls.force = true #transport.tls.certFile = "/etc/frp/ssl/server.crt" #transport.tls.keyFile = "/etc/frp/ssl/server.key" #transport.tls.trustedCaFile = "/etc/frp/ssl/ca.crt" -
然后找到服务➡️新增服务

-
端口映射填写刚才配置文件配置的vhostHTTPPort端口,点击确定即可

-
最后点击右上角的重启使配置文件生效

配置网站
-
点击网站管理➡️新增网站

-
按照如下填写,域名列表要填刚才配置的subdomainHost的子域名,服务器资源最低就是0.5核,不然不让创建。我这里是想代理我的思源笔记页面,所以直接帮的siyuan.aaafast.cn,之后可以继续绑其他多个域名,这里无需纠结

-
创建完成之后点击这个网站

-
选择域名管理,按照提示添加cname解析

-
前往你的DNS解析服务商处添加cname解析,我这里是cloudflare,代理状态一定要是关闭,不然雨云无法验证通过

-
这样服务端就已经配置完成了,接下来配置客户端
配置FRPC(FRP客户端)
-
会docker的直接连ssh用docker compose运行容器即可,也可以直接安装1Panel安装,因为后面需要使用1Panel申请免费的通配符证书,所以我这里直接用1pnael,前往[1Panel官网](1Panel - 现代化、开源的Linux服务器运维管理面板),获取安装命令
shellbash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)" -
根据提示安装1panel,一般就这里的是否配置镜像加速需要输入y,其他的都直接回车用默认值就行

-
安装完成后会告诉你登录地址和用户名和密码,记录下来

-
如果你的服务器跟我一样是雨云的nat网络的服务器,那就需要端口映射一下,比如我这里是12528端口,那我就需要把内部的12528映射到外部的任意一个端口,不然无法访问
-
映射完成后,访问1Panel,点击应用商店➡️搜索frp➡️安装frp客户端

-
需要注意的就是这三个参数,填写雨云frp应用里,服务端对应的端口号和IP和配置文件里配置的token


-
点击确定就会进行安装了,等待安装完成
如果镜像拉取失败的话就再这里修改加速地址,网上搜吧,有很多

修改加速地址重启docker后找到这里重建即可

-
镜像实在拉取不下来的话就下载我这个镜像然后手动导入吧,导入后再重建
下载地址:frpc
shell#上传到服务器的/home目录下 docker load -i /home/frpc.tar #看一下有没有导进入 docker images -
思源笔记也可以直接在应用商店安装

-
找到思源笔记的内网IP和运行的端口,我这里是192.168.32.2和6806,记下来

-
找到frpc配置文件



-
修改配置文件,ctrl+s保存
tomlserverAddr = "38.246.252.232" serverPort = 17000 auth.method = "token" auth.token = "token123456" webServer.addr = "0.0.0.0" webServer.port = 7400 webServer.user = "admin" webServer.password = "admin_zW5TpY" webServer.pprofEnable = false # 笔记应用 [[proxies]] name = "siyuan" # 这里只需要http即可,https会在外网服务器上配置。 type = "http" localIp = "192.168.32.2" # 当前应用暴露的端口。 localPort = 6806 # 当前应用你想要配置的子域名 # 配置这个就可以通过https://siyuan.aaafast.cn 访问思源笔记了。 subdomain = "siyuan" # 或者 # customDomains = ["https://siyuan.aaafast.cn"] # 注:如果 frps 配置了 subdomainHost,则 customDomains 中不能是属于 subdomainHost 的子域名或者泛域名。 # tls #transport.tls.certFile = "/etc/frp/ssl/client.crt" #transport.tls.keyFile = "/etc/frp/ssl/client.key" #transport.tls.trustedCaFile = "/etc/frp/ssl/ca.crt" -
然后重启frpc即可

-
测试:访问http://siyuan.aaafast.cn/,成功!

-
测一下速度

设置ssl
为了之后可以绑定多个域名,所以这里一定要使用通配符证书
-
使用1Panel免费申请通配符域名证书,先创建DNS账户

-
因为我用的cloudflare,所以这里选cloudflare

Global API Key在右上角配置文件里


-
创建完DNS账户之后点击申请证书

-
确认等待申请即可

-
点击详情,记下证书和私钥

-
回到雨云,找到云产品➡️我的证书,将证书和私钥复制进去,保存即可

-
然后去云应用的网站管理绑定SSL证书,绑定后会自动开启SSL


-
开启SSL后会提示需要重启,点击立即重启即可,然后就可以通过https访问了

设置多个应用
-
还想绑定其他域名的话同样是在域名管理里添加,记得也要添加cname解析,记录是一样的

-
然后修改frpc.toml,再添加一段[[proxies]]就行了
tomlserverAddr = "38.246.252.232" serverPort = 17000 auth.method = "token" auth.token = "token123456" webServer.addr = "0.0.0.0" webServer.port = 7400 webServer.user = "admin" webServer.password = "admin_zW5TpY" webServer.pprofEnable = false # 笔记应用 [[proxies]] name = "siyuan" # 这里只需要http即可,https会在外网服务器上配置。 type = "http" localIp = "192.168.32.2" # 当前应用暴露的端口。 localPort = 6806 # 当前应用你想要配置的子域名 # 配置这个就可以通过https://siyuan.aaafast.cn 访问思源笔记了。 subdomain = "siyuan" # 或者 # customDomains = ["https://siyuan.aaafast.cn"] # 注:如果 frps 配置了 subdomainHost,则 customDomains 中不能是属于 subdomainHost 的子域名或者泛域名。 # 其他应用 [[proxies]] name = "other" # 这里只需要http即可,https会在外网服务器上配置。 type = "http" localIp = "192.168.32.2" # 当前应用暴露的端口。 localPort = 1234 # 当前应用你想要配置的子域名 # 配置这个就可以通过https://siyuan.aaafast.cn 访问思源笔记了。 subdomain = "other" # tls #transport.tls.certFile = "/etc/frp/ssl/client.crt" #transport.tls.keyFile = "/etc/frp/ssl/client.key" #transport.tls.trustedCaFile = "/etc/frp/ssl/ca.crt"
欢迎大家来我的博客-火柴人儿的小站