
首先需要一个域名
一台有公网ip的服务器
和前面介绍的frp+openwrt基本上在服务端配置差不多的
https://misslin.cf/127.html
去github下载frp
https://github.com/fatedier/frp/releases
解压后得到
frps
frps.ini
frpc
frpc.ini
frps是服务端 frpc是客户端
域名例如frp.misslin.cf解析到有公网ip的服务器 这里举例公网ip:223.223.223.223
服务端配置
ssh登陆有公网的ip服务器
root下新建目录frp后,将frps,frps.ini上传
配置frps.ini (端口自由分配没有被占用的)
[common]bind_port = 5443 (frps和frpc通讯的端口)vhost_http_port = 808 (假设服务器的80端口需要用于web服务所以将http改成808)vhost_https_port = 909 (假设服务器的443端口需要用于web服务所以将http改成900)dashboard_port = 3333 (fprs的webui管理查看frps工作状态的端口)dashboard_user = admin (fprs的webui登陆帐号)dashboard_pwd = admin (fprs的webui登陆密码)token = 123456 (frps和frpc通讯密码)
配置完成后 服务器上给frp目录晨的frps和frps.ini设置777权限
服务器上运行frps
cd /root/frp/./frps -c frps.ini
frps在服务器上已启动
可以用解析的域名
frp.misslin.cf:3333访问frps服务端的webui
也可以直接用服务端的ip
223.223.223.223:3333访问frps服务端的webui
客户端配置
在需要穿透的内网主机
ssh登陆内网的ip
root下新建目录frp后,将frpc,frpc.ini上传
配置frpc.ini (部份端口需要和frps一置)
[common]server_addr = 223.223.223.223 (frps服务端的公网ip,也可以直接填写前面解析的域名frp.misslin.cf)server_port = 5443 (frps和frpc通讯的端口)tls_enable = truetoken = 123456 (frps和frpc通讯密码)
[casaos] (可以自己填写内网主机运行的服务)type = http (http服务)local_ip = 192.168.1.123 (运行服务的内网主机ip)local_port = 8123 (运行服务的内网主机端口)remote_port = 808 (这是对应服务端里配置web的http端口)custom_domains = frpcasaos.misslin.cf (解析一个新的域名到有公网的服务器ip这个域名分配给casaos服务器)
[chatgpt]type = httplocal_ip = 192.168.5.123 (运行服务的内网主机ip)local_port = 7999 (运行服务的内网主机端口)remote_port = 808 (这是对应服务端里配置web的http端口)custom_domains = frpgpt.misslin.cf (解析一个新的域名到有公网的服务器ip这个域名分配给chatgpt服务器)
可以继续填加内网需要穿透的服务参考上面
配置完成后给frp目录晨的frpc和frpc.ini设置777权限
内网主机上运行frpc
cd /root/frp/./frpc -c frpc.ini
内网frpc启动完成后
可通过域名
frpcasaos.misslin.cf:808访问casaos
frpgpt.misslin.cf:808访问chatgpt
到此完成!
在有公网ip的服务器安装BT
新建网站
域名
frpcasaos.misslin.cf 添加反代 127.0.0.1:808
新建网站
域名
frpgpt.misslin.cf 添加反代 127.0.0.1:808
这就可以直接用域名访问不需要加端口号了
frps加入服务列表并设置自启动
#重新加载服务列表systemctl daemon-reload#将frps加入开机自启动systemctl enable frps.service#启动服务systemctl start frps.service
#以下是其他常用命令#关闭服务systemctl stop frps.service#重启服务systemctl restart frps.service#显示服务的状态systemctl status frps.service#禁用服务开机启动systemctl disable frps.service#查看服务是否开机启动systemctl is-enabled frps.service#查看已经启动的服务列表systemctl list-unit-files|grep enable#查看启动失败的服务列表systemctl --failed配置和自启动设置
frpc加入服务列表并设置自启动
#重新加载服务列表systemctl daemon-reload#将frpc加入开机自启动systemctl enable frpc.service#启动服务systemctl start frpc.service
#以下是其他常用命令#关闭服务systemctl stop frpc.service#重启服务systemctl restart frpc.service#显示服务的状态systemctl status frpc.service#禁用服务开机启动systemctl disable frpc.service#查看服务是否开机启动systemctl is-enabled frpc.service#查看已经启动的服务列表systemctl list-unit-files|grep enable#查看启动失败的服务列表systemctl --failed
常见报错原因
错误1(frps):Create vhost http listener error, listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
解决方法:端口被其他应用程序占用,关闭其他应用程序或改用其他端口。
错误2(frpc):[rdp] start error: port already used
解决方法:远程端口已被使用,改用其他端口。
错误3(frpc):[web01] start error: proxy name [web01] is already in use
解决方法:代理名称[web01]已被使用,检查并更换一个代理名称。
错误4(frpc):[web01] start error: router config conflict
解决方法:[web01]指定的域名(custom_domains)已被使用,检查并更换其他域名。
错误5(frpc):work connection closed, EOF
解决方法:连不上服务器端,检查服务器端运行是否正常,服务器端恢复后客户端会自动恢复连接。