使用内网穿透工具 frp 发布内网 web 站点
版权声明:本文为CSDN博主「杨群」的原创文章,遵循 CC 4.0 BY-SA版权协议,于2024年7月20日首发于CSDN,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011046671/article/details/140568869
一、基础环境
操作系统:Microsoft Windows Server 2022 Datacenter and Microsoft Windows 10
发布日期:2024-07-09 版本:0.59.0
官方主页:https://github.com/fatedier/frp/
下载地址:https://github.com/fatedier/frp/releases
官方文档:https://gofrp.org/zh-cn/docs/
配置参考:https://github.com/fatedier/frp/tree/dev/conf
二、适用场景
- 我们有些时候将内网 web 站点发布到公网上供用户访问,但是内网主机没有公网IPv4,因此我们需要内网穿透服务。
- 内网穿透服务也可以理解成网络转发,服务端将接收到用户请求转发给客户端,客户端将响应回复给服务端,服务端转发给用户。
- 此处我们使用一台具有公网 IPv4 的云主机搭建内网穿透服务。
- 此处我们只演示内网穿透 http 服务基本,更高级用法请参考官方文档。
三、过程和方法
首选我们从官方主页下载 frp_0.59.0_windows_amd64.zip 并解压至 D:\ProgramFiles\frp_0.59.0_windows_amd64 (或者其他目录) 。(服务端服务器和客户端服务器都要解压)
然后参考以下配置修改配置文件
服务端配置(配置文件为:frps.toml)
# 服务端与客户端的通信端口 bindPort = 7000 # auth.method指定使用什么身份验证方法对frpc和frps进行身份验证。默认情况下,这个值是 "token". auth.method = "token" # auth.token指定令牌内容 auth.token = "yangqun" # 管理控制台地址、端口、账号、密码,可以查看运行情况,当地址设置为127.0.0.1时仅能本地访问 webServer.addr = "127.0.0.1" webServer.port = 7500 webServer.user = "admin" webServer.password = "admin" # 日志路径及文件名 log.to = "logs/frps.log" # 日志级别:trace, debug, info, warn, error log.level = "info" # 日志保留天数,网络安全法规定为180天 log.maxDays = 180 # 虚拟主机HTTP服务端口 vhostHTTPPort = 80
设置完成后,使用以下命令启动服务端
frps.exe -c frps.toml
客户端配置(配置文件为:frpc.toml)
# 此处填写服务端的公网IPv4地址,此处以 47.98.108.88 为例 serverAddr = "47.98.108.88" # 服务端与客户端的通信端口 serverPort = 7000 # auth.method指定使用什么身份验证方法对frpc和frps进行身份验证。默认情况下,这个值是 "token". auth.method = "token" # auth.token指定令牌内容 auth.token = "yangqun" # 管理地址、端口、账号、密码,可以在线修改配置文件,当地址设置为127.0.0.1时,仅限本地访问 webServer.addr = "127.0.0.1" webServer.port = 7400 webServer.user = "admin" webServer.password = "admin" # 日志文件路径 log.to = "logs/frps.log" # 日志级别:trace, debug, info, warn, error log.level = "info" # 日志保留天数,网络安全法规定为180天 log.maxDays = 180 [[proxies]] name = "web01" type = "http" localIP = "127.0.0.1" localPort = 8080 # http username和 password 是http协议的安全认证,设置后测试一下,如果有问题就关掉此功能 httpUser = "admin" httpPassword = "admin" # 自定义域名,有域名的可以填写域名,没有域名的就填写服务端公网IPv4地址 customDomains = ["www.jsxufeng.com"] # 传输过程中进行加密 transport.useEncryption = true # 传输过程中进行压缩 transport.useCompression = true
设置完成后,使用以下命令启动客户端
frpc.exe -c frpc.toml
以上启动完成后,可以分别查看启动日志,没有异常报错信息后即可认为正常启动。
在本地浏览器打开 http://47.98.108.88/ 即可访问内网的系统。
在服务端服务器本地打开 http://127.0.0.1:7500/ 然后使用账号 admin 和密码 admin 登录,即可查看服务端的运行情况。
在客户端服务器本地打开 http://127.0.0.1:7400/ 然后使用账号 admin 和密码 admin 登录,即可查看客户端的运行情况。
四、参考资料
官方主页:https://github.com/fatedier/frp/
官方文档:https://gofrp.org/zh-cn/docs/
配置参考:https://github.com/fatedier/frp/tree/dev/conf
版权声明:本文为CSDN博主「杨群」的原创文章,遵循CC 4.0 BY-SA版权协议,于2024年7月20日首发于CSDN,转载请附上原文出处链接及本声明。
CSDN博主「杨群」的原创文章,遵循CC 4.0 BY-SA版权协议,于2024年7月20日首发于CSDN,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011046671/article/details/140568869