赞
踩
在公司用电脑敲代码,环境都是localhost,有时候你要接第三方接口比如支付、或者企业微信的事件回调等,都需要一个公网地址,因为这时候是开发阶段,你即想要公司电脑上运行的环境又想要回调能找到你的公司电脑。
首先,在公司的所有电脑连wifi或者有线,都是共用一个公网ip对外访问,所以公司肯定不会给你一个单独的公网ip放你电脑上啦。
1 自己的云服务器(公网ip),
买服务器就不教了,有钱啥配置都能买,没钱就买最低配置,仅做学习用。
如何远程连接云服务器_坐等夕阳落time的博客-CSDN博客_如何访问云服务器
2 下载frp
3 自己的云服务器配置frp服务端
4 自己公司电脑配置frp客户端
ps: 要把自己电脑上的杀毒软件,xx管家关了,否则下载不了的哦。
frp是一个开源项目,所以,你们别被收费了。
https://github.com/fatedier/frp
frp下载地址
Releases · fatedier/frp · GitHub
下载完了解压
介绍一下解压包里的各个文件
文件名带full,没有被使用,可以说它是一个配置参考文档,里面含着所有配置,你需要的时候可以去里面找,里面用英文介绍了每条配置的意思,但是英语不好的缺配置的时候,还是上网搜索吧。
能力强的小伙伴可以自己看着官方文档弄,这个能力是一定要自己掌握的,所以我的文章都会放上官方的文档链接。
主要是有公网ip的配置frp服务端,这样才能做到内网穿透,访问公网ip相当于访问到你的内网机子。
我用的:
- [common]
- # frp服务端监听的端口,默认是7000
- bind_port = 7000
- # 身份验证令牌,在客户端使用
- token = 52010
-
- # frp管理后台端口,可修改
- dashboard_port = 7500
- # frp管理后台用户名和密码,可修改
- dashboard_user = admin
- dashboard_pwd = admin
- # 开启监控
- enable_prometheus = true
-
- # frp日志配置
- log_file = /var/log/frps.log
- log_level = info
- log_max_days = 3
编写完配置,我们就把这个linux的frp文件夹上传到云服务器
1.2.1 关闭frps服务
因为我的服务器上已经启动过frps服务了,所以我先把它关一下
- # linux 上查看运行的服务列表
- netstat -lntp
- # linux 上关闭frps
- sudo systemctl stop frps
1.2.2 启动frps服务
我以前下的版本里会有frps.service文件,现在这个0.45.0版本没有了
但是官方文档有教程
主要是ExecStart,填写frps的安装路径
因为为了做好备份,所以,不建议直接填写安装包文件夹的路径(就是你上传到服务器的那个文件夹frp_0.45.0_linux_amd64),主要还是规范,当然你可以随意。
所以参照frp以前旧版本中的frps.service,我们把frps文件复制放到 /usr/bin,把frps.ini复制放在 /etc/frp(这些文件操作我都是用WinSCP搞的,熟linux命令的可以直接命令弄哈)
最后一步:把你写好的 frps.service 文件复制到 /etc/systemd/system 或 /usr/lib/systemd/system/
- [Unit]
- Description=Frp Server Service
- After=network.target
-
- [Service]
- Type=simple
- User=nobody
- Restart=on-failure
- RestartSec=5s
- ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
-
- [Install]
- WantedBy=multi-user.target
使用 systemd
命令,管理 frps,一般执行linux命令,都会加个sudo 超管身份执行
- # 启动frp
- systemctl start frps
- # 停止frp
- systemctl stop frps
- # 重启frp
- systemctl restart frps
- # 查看frp状态
- systemctl status frps
- # 配置 frps 开机自启
- systemctl enable frps
- # 启动frp
- sudo systemctl start frps
1.2.3 查看frps服务成功没有
- # 查看frp状态
- systemctl status frps
不使用 systemd
,单独运行 /usr/bin/frps -c /etc/frp/frps.ini 看看
/usr/bin/frps -c /etc/frp/frps.ini
Permission denied 是因为ftps文件没有执行权限,给加上执行权限
一定要注意你执行命令时候的目录,因为路径错了,命令就执行失败,ftps文件放在了 /usr/bin ,执行 chmod 777 frps,加上权限
chmod 777 frps
1.2.4 再去访问一下frps的管理后台
如果你运行启动命令时,没报错误,你就访问之前服务端配置文件 frps.ini 里设置的后台
ps: 云服务器记得防火墙开一下端口,不然访问不到
ip+端口( frps.init 里配的7500)
公网frp服务端启动好了,开始内网frp客户端的配置,我用的是公司电脑,所以是windows系统的步骤和配置frp服务端一样。
ps: 要把自己电脑上的杀毒软件,xx管家关了。
我用的:
- [common]
- server_addr = 云服务器ip(公网ip)
- server_port = 7000
- # frps.init 上配置的身份令牌
- token = 52010
-
- # 配置ssh服务
- # [ssh]
- # type = tcp
- # local_ip = 127.0.0.1
- # local_port = 22
- # 自定义
- # remote_port = 20202
-
- # 配置http服务,可用于小程序开发、远程调试等
- # [web]
- # type = http
- # local_ip = 127.0.0.1
- # local_port = 8080
- # web域名
- # subdomain = xxx.xxx.cn
- # 自定义
- # remote_port = 8080
-
- # 上面的两个服务我都用不到,写在那里万一以后用到了
- # 我主要用的下面这个服务[自定义命名],[ssh]这样的名称必须全局唯一,可以[ssh1]
- [company_pc]
- type = tcp
- local_ip = 127.0.0.1
- # 我本机跑的后端服务端口(springboot)
- local_port = 9500
- # 自定义,之后就是云服务器ip加这个remote_port,就能访问到你本机
- remote_port = 13389
1.2.1 关闭frpc服务
我电脑之前跑过服务,先关了。 ctrl+alt+delete 选择任务管理器,然后 ctrl+f 输入frp 就找到了frpc服务, 鼠标右键结束任务就行。
1.2.2 启动frpc服务
打开下载的frp文件夹,在路径栏,输入cmd,回车:
命令行窗口运行:
cmd /c frpc.exe -c frpc.ini
想后台运行frpc服务:
创建一个frpc.vbs文件
- Set ws = CreateObject("Wscript.Shell")
- ws.run "cmd /c frpc.exe -c frpc.ini",vbhide
鼠标双击运行即可。
启一个9500服务:
apifox 调接口:
成功访问到了!之后用来在内网环境开发时,第三方的接口回调地址,比如支付、企业微信事件回调等
使用frp配置内网访问(穿透)教程(超详细,简单)_*Lisen的博客-CSDN博客_frp内网穿透
【Linux】使用 systemd 管理 frp 服务_chensuanfa的博客-CSDN博客_frp systemd
【frp内网穿透工具】服务端frps和客户端frpc在Linux和Windows下开机启动并隐藏启动的方法 – 星星芦苇
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。