博主在本地电脑(Windows)上安装了一款BS架构的软件,现在想要其他人通过域名直接访问本地电脑的web服务。
https://github.com/fatedier/frp/releases
centos选择:frp_0.42.0_linux_amd64.tar.gz
windows选择:frp_0.42.0_windows_amd64.zip
博主Frp服务器端用的阿里云centos
tar -zxvf frp_0.42.0_linux_amd64.tar.gz
cd frp_0.42.0_linux_amd64
# frp监听的端口,默认是7000
bind_port = 7000
# frp管理后台端口
dashboard_port = 7500
# frp管理后台账户密码
dashboard_user= admin
dashboard_pwd= admin
enable_prometheus = true
vhost_http_port = 80
# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3
firewall-cmd --permanent --zone=public --add-port=7000/tcp
firewall-cmd --permanent --zone=public --add-port=7500/tcp
systemctl reload firewalld

nohup ./frps -c ./frps.ini >/dev/null 2>&1 &
http://你的ip:7500

https://github.com/fatedier/frp/releases
centos选择:frp_0.42.0_linux_amd64.tar.gz
windows选择:frp_0.42.0_windows_amd64.zip
博主Frp客户器端用的Windows11
[root@Fourth frp_0.42.0_linux_amd64]# vi frpc.ini
[common]
server_addr = 服务器的公网IP
server_port = 7000
[web01]
type = tcp
local_ip = 127.0.0.1
local_port = 80
custom_domain = 域名
#如果不需要域名,上面可以不配置
# 如果是cmd命令窗口
frpc -c frpc.ini
# 如果是powershell窗口
./frpc -c ./frpc.ini
如果不配置域名的话,IP+端口访问即可。

添加记录
在Windows系统下,客户端部署后,窗口不能关。但是可能存在误操作的情况,所以我们将Frp客户端服务注册到WIN服务,这样客户端可以在后台运行。
博主使用的是winsw工具
https://github.com/winsw/winsw/releases
win11选择WinSW.NET4.exe
start.bat
frp.exe -c frpc.ini
stop.bat
@echo off
taskkill /f /im frpc.exe
exit;
将winsw.exe改名为test-service.exe
test-service.xml
<service>
<id>Testid>
<name>Test Servicename>
<description>Test Jardescription>
<executable>C:\Users\Administrator\Desktop\test\start.batexecutable>
<stopexecutable>C:\Users\Administrator\Desktop\test\stop.batstopexecutable>
service>
test-service.exe install
这里可能会报错,提示“无法从命令行或调试器启动服务,必须首先安装Windows服务(使用installtutil.exe),然后用ServerExplorer、Windows服务器管理工具或者NET START命令启动它”
找到你的C:\Windows\Mircrosoft.NET\FrameWork64\v4.0.30319\InstallUtil.exe
在这个路径下使用cmd命令,执行安装

以管理员身份打开cmd
net start test
net stop test
