有的时候我们需要在外网能够访问当内网中的内容。比如公司内网的 git 、数据库、远程操作。有时候为了方便调试一些三方服务,比如微信、支付宝这一类需要异步回调的调试的服务内容,我们通常需要一个外网服务器,但是外网服务器对代码调试不是太方便,虽说 PHP 有像 Xdebug这一类的开发工具,但是配置远程调试却是非常麻烦,而且还很容易失败。 所以我们就需要一个方便好用的内网穿透的服务存在。
青阳今天给大家带来的是在腾讯云轻量应用服务器上运用FRP搭建内网穿透服务器。
摘自 github 介绍:frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
外网服务器1台:个人推荐使用腾讯云的轻量应用服务器
来自腾讯云官网:轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、小程序/小游戏、电商、云盘/图床以及各类开发测试和学习环境,相比普通云服务器更加简单易用,提供高带宽流量包并以套餐形式整体售卖基础云资源,将热门开源软件融合打包实现一键构建应用,是您使用腾讯云的最佳入门途径。 【腾讯云】轻量应用服务器Lighthouse,上云「轻」而易举,1核1G3M低至128元/年,高带宽首选 (连接有博主的AFF)
内网机器1台(内网没有机器穿透个寂寞么)
wget https://github.com/fatedier/frp/releases/download/v0.31.1/frp_0.31.1_linux_amd64.tar.gz
tar zxf frp_0.31.1_linux_amd64.tar.gz
mv frp_0.31.1_linux_amd64 /usr/local/frp
vim frps.ini
[common]
bind_port = 7000
vhost_http_port = 8080
使用ins或i插入,完成复制完成之后,按esc退出 :wq 保存退出
cd /usr/local/frp
./frps -c ./frps.ini
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000
[RDP]
type = tcp
local_ip = 0.0.0.0
local_port = 3389
remote_port = 6666
C:\Program Files\frp\frpc.exe -c C:\Program Files\frp\frpc.ini
2020/01/11 13:18:22 [I] [service.go:250] [e126185cb2716a8e] login to server success, get run id [e126185cb2716a8e], server udp port [0]
2020/01/11 13:18:22 [I] [proxy_manager.go:144] [e126185cb2716a8e] proxy added: [RDP]
2020/01/11 13:18:22 [I] [control.go:164] [e126185cb2716a8e] [RDP] start proxy success
vim /etc/systemd/system/frps.service
[Unit]
Description=frps daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/local/frp/frps -c /usr//local/frp/frps.ini
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target
sudo systemctl start frps
# 启动服务
sudo systemctl enable frps
# 开机自启
sudo systemctl status frps
# 状态查询
sudo systemctl restart frps
# 重启服务
sudo systemctl stop frps
借助 winsw 工具可以将frpc注册为windows系统中的服务
将下载的winsw.exe放到frpc.exe同目录下,并填写winsw.xml配置文件
<service>
<id>frp</id>
<name>frp</name>
<description>用frp发布本地电脑网站到外网</description>
<executable>frpc</executable>
<arguments>-c frpc.ini</arguments>
<logmode>reset</logmode>
</service>
然后使用winsw install将frpc安装为系统服务。
winsw 下载地址: https://github.com/kohsuke/winsw/releases
创建与winsw同名的配置文件,后缀为xml
此处以配置FRP客户端为例:
<service>
<!-- 该服务的唯一标识 -->
<id>frp</id>
<!-- 该服务的名称 -->
<name>frp0.27.1-windows-amd64</name>
<!-- 该服务的描述 -->
<description>frpc客户端 这个服务用 frpc 实现内网穿透</description>
<!-- 要运行的程序路径 -->
<executable>D:\Software\frp\frp_0.27.1_windows_amd64\frpc.exe</executable>
<!-- 携带的参数 -->
<arguments>-c frpc.ini</arguments>
<!-- 第一次启动失败 60秒重启 -->
<onfailure action="restart" delay="60 sec"/>
<!-- 第二次启动失败 120秒后重启 -->
<onfailure action="restart" delay="120 sec"/>
<!-- 日志模式 -->
<logmode>append</logmode>
<!-- 指定日志文件目录(相对于executable配置的路径) -->
<logpath>logs</logpath>
</service>
//注册服务
winsw.exe install
//卸载服务
winsw.exe uninstall
//启动服务
winsw.exe start
//停止服务
winsw.exe stop
//重启服务
winsw.exe restart
//查看状态
winsw.exe status
最后以上所有的操作都最好是管理员模式运行。
至此所有教程部分到此结束,FRP还有其他更多的玩法,朋友可以到我博客和我交流,也可以可以写邮件讨论 me@email.hb.cn
博主的个人博客地址是:https://www.hipyt.cn/
安利一下,腾讯云限时秒的活动,优惠力度非常大,当前买到就是赚到了,1核2G的配置最低99元一年。
为了保证博主的写作兴趣,请大家有需要的一定要多多支持。以下连接内含(AFF)
【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年99元 腾讯云限时秒杀
【腾讯云】轻量应用服务器Lighthouse,上云「轻」而易举,1核1G3M低至128元/年,高带宽首选
期待下一次给大家带来更好的教程,我们下次再见。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。