基础服务
【未分类】
备忘的一些链接
图床列表 - imgtu
【目录】生活&其它
游戏修改器-nes游戏修改记录
尝试操作系统-Community20.3
哈哈哈
警世恒言/人生谎言
使用视频采集卡让笔记本当nuc的屏幕
【已废弃】获取微信好友-itchat
获取微信好友-pc hook
易混词语(尽量避免使用)
有用的链接(工具)
zy服务版本记录
注意安全、生命、健康
日文输入法
安卓模拟器中使用微信充值微信豆
备忘小技巧
excel
网站生成
静态网站生成工具-vuepress
静态网站生成工具-hugo
【目录】代码片段
动态显示select的option列表
同时显示汉字和拼音
常用java代码
性能
jmeter
jmeter-性能
ops
kubernetes
jenkins
drone
服务升级记录
mrdoc升级记录
mysql升级记录
方案
跨语言的web服务间接口调用安全问题
【其它编程语言】
编程-javascript
编程-python
前端框架-react
编程-golang
c语言
.NET(dotnet)
【前端】
Lua简明教程
【缓存】redis
redis
服务搭建
搭建mrdoc
主机服务及端口列表
安装centos7虚拟机
docker
虚拟机-vagrant和virtualbox
安装AlpineLinux虚拟机
docker machine
docker-swarm
配置https域名
centos7服务器清理磁盘空间
vscode
multipass
ubuntu 使用
【数据库】mysql
mysql命令
mysql
HashDatabaseAndTableTest.java
mysql-快速导入100w条记录
mysql高级命令
用于排查问题的一些常见命令
基础信息
mysql5.7升级到8
maven相关
maven命令行汇总
自动升级maven工程中的项目版本
maven基础及高级
windows系统使用
windows客户端软件使用
windows 宿主机 + virtualbox虚拟机共同使用
windows常见问题记录
新的开发环境
windows11配置
windows系统下载
命令行安装软件 & 配置软件
折腾谷歌浏览器
浏览器插件列表
windows音频视频下载工具
云服务
服务-tao-道
【目录】技术分享
技术分享-todo
【目录】shell
windows常用命令
shell脚本汇总
shell命令汇总
windows常用脚本
命令行操作录制工具 asciinema-player
windows软件包管理器scoop
网络相关
服务使用
nexus
jenkins
apifox
notify (bark-server)
开发人员相关
IDEA相关配置
压力测试工具-jmeter
【目录】git集合
git常用操作
gitlab替代品:gitea搭建及简单使用
【git神技】git配置多个提交账户
【git神技】git别名使用
【git神技】一个本地仓库同时提交到github/gitlab/gitee等多个代码平台
gitlab使用记录
git问题汇总
git-for-windows配置
用过的jdk版本
内网穿透-通过公网ip访问本地web服务
常见问题的排查及工具
本文档使用 MrDoc 发布
-
+
首页
内网穿透-通过公网ip访问本地web服务
关键词:`内网穿透` `frp` ## frp frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。 ## 目标 通过访问公网的某个端口可以访问本机或局域网的web服务。 下载地址为:https://github.com/fatedier/frp/releases 此处使用最新版(此时为v0.57.0)。 下载linux-amd64和windows_amd64。 ## 在云服务器中配置服务端 > 服务端需要有公网ip。 上传到到linux服务器中。由于是服务端,所以只需要frps和frps.toml。 将它们复制到/usr/local/bin中(不要放到/opt等其它目录,会导致无法运行)。 修改frps.toml的内容为如下: ```text # 这两个端口需要配置到安全组中 bindPort = 7000 vhostHTTPPort = 8080 ``` 然后配置成服务: `vim /lib/systemd/system/frps.service` 文件内容如下: ```text [Unit] Description=Frp Server Service After=network.target [Service] Type=simple User=nobody Restart=on-failure RestartSec=10s ExecStart=/usr/local/bin/frps -c /usr/local/bin/frps.toml [Install] WantedBy=multi-user.target ``` 之后就可以启动frps了。`sudo systemctl start frps` 看到`frps started successfully`就说明启动成功了。 配置开机启动 `sudo systemctl enable frps` 如果要重启应用,`sudo systemctl restart frps` 如果要停止应用,`sudo systemctl stop frps` 如果要查看日志,`sudo systemctl status frps` 问题: Q: main process exited, code=exited, status=203/EXEC A: 查看frps所在目录,尽量放到/usr/bin或/usr/local/bin中 参考:https://blog.csdn.net/x7418520/article/details/81077652 ## 配置客户端 frpc.toml内容如下: ```text # 配置地址和端口,注意serverAddr的值要用双引号括住。 serverAddr = "公网ip" # serverPort对应frps.toml中的bindPort serverPort = 7000 [[proxies]] # 映射到本地的web服务 name = "web" # http协议 type = "http" # web服务的端口 localPort = 5000 # 自定义域名,可以是ip地址 customDomains = ["frps服务端的公网ip", "域名"] ``` 启动客户端 `frpc.exe -c frpc.toml` 访问 http://【frps服务端的公网ip】或【域名】:【frps.toml中的vhostHTTPPort】/【请求路径】 比如本地5000端口提供了/hello接口,则访问http://公网ip:8080/hello也能访问成功。 ### windows配置服务 `sc create frpc start= auto binPath= "C:\Windows\apps\frp\frpc.exe -c C:\Windows\apps\frp\frpc.toml" DisplayName= "FRPC Service"` `sc start frpc` 会报错: ```text [SC] StartService 失败 1053: 服务没有及时响应启动或控制请求。 ``` 结论:不使用sc命令来创建服务 改用 winsw 官网:https://github.com/winsw/winsw/releases 如下使用版本是WinSW v3.0.0-alpha.11(文件名是WinSW-net461.exe),且需要在`管理员`模式下运行。 WinSW-net461.exe install frpc_service.xml WinSW-net461.exe start frpc_service.xml WinSW-net461.exe stop/restart/status xxx.xml frpc_service.xml的内容如下: ```xml <service> <id>frpc</id> <name>frpc</name> <executable>D:\ws\apps\frp\frpc.exe</executable> <arguments>-c D:\ws\apps\frp\frpc.toml</arguments> <onfailure action="restart" /> <!-- 指定日志文件目录(相对于executable配置的路径) --> <logpath>logs</logpath> <!-- 日志模式:每天滚动--> <log mode="roll-by-time"> <pattern>yyyyMMdd</pattern> </log> </service> ``` ## 附件 [【附件】frps-about.7z](/media/attachment/2024/04/frps-about.7z)
我是张三
2024年9月13日 12:20
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
eblog
Markdown文件
分享
链接
类型
密码
更新密码