参考博客:
https://www.jianshu.com/p/19ea81efffc4
https://blog.csdn.net/yj222333/article/details/124752420
依赖于:Github开源软件FRP
下载地址:https://github.com/fatedier/frp/releases
frp 主要由 客户端(frpc) 和 服务端(frps) 组成
服务端(frps)-部署在具有公网IP的机器上
客户端(frpc)-部署在需要穿透的内网服务所在的机器上 (我部署在window机器上)
ps:根据自己服务器的类型下载对应的版本。
一、服务端
1、下载
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz
2、编辑配置文件
删除客户端:rm -rf frpc*
编辑配置文件: vim frps.ini
[common] bind_addr = 0.0.0.0 # 接收 frpc 的连接,服务器监听端口 bind_port = 7000 # 启用 Dashboard 监听的本地端口,管理页面访问端口 dashboard_port = 7500 # 客户端需要设置一样的值才能鉴权通过 token = lanren312_851ef508a68745f098d7047a072fde13 # HTTP BasicAuth 用户名 dashboard_user = admin # HTTP BasicAuth 密码 dashboard_pwd = lanren312 # 启用后才支持 HTTP 类型的代理,为 HTTP 类型代理监听的端口 vhost_http_port = 8001 # 启用后才支持 HTTPS 类型的代理,为 HTTPS 类型代理监听的端口 vhost_https_port = 8002
3、后台运行
后台运行:nohup ./frps -c ./frps.ini &
4、访问管理平台
http://云服务ip:7500
5、设置开机启动
没有就创建编辑:sudo vim /lib/systemd/system/frps.service
[Unit] Description=frps service After=network.target syslog.target Wants=network.target [Service] Type=simple #启动服务的命令(此处写你的frps的实际安装目录) ExecStart=/lanren312/frp/frp_0.37.1_linux_amd64/frps -c /lanren312/frp/frp_0.37.1_linux_amd64/frps.ini [Install] WantedBy=multi-user.target
ps: 必须将之前的进程杀掉,必须将之前的进程杀掉,必须将之前的进程杀掉,重要的说三遍。
启动frps: sudo systemctl start frps
服务器开机自动启动frps:sudo systemctl enable frps
重启frps:sudo systemctl restart frps
停止frps:sudo systemctl stop frps
查看日志:sudo systemctl status frps
二、客户端
1、下载,直接点击下载或者
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_windows_amd64.zip
2、 删除服务端的3个文件
3、编辑客户端的配置文件 frpc.ini
[common] # 云服务器的ip地址 server_addr = 云服务器ip # 连接服务端的端口 server_port = 7000 # 和服务端设置一样的值才能鉴权通过 token = lanren312_851ef508a68745f098d7047a072fde13 # 启用 AdminUI 监听的本地端口 admin_port = 7600 # HTTP BasicAuth 用户名 admin_user = admin # HTTP BasicAuth 密码 admin_pwd = lanren312 # 名称,自己定义,不可重复 [lanren312-8080] type = tcp # 电脑在局域网中的内网 IP local_ip = 192.168.0.109 # 本地应用的端口号 local_port = 8080 # 服务端的端口号,记得开启放行端口 remote_port = 8081
4、运行脚本
新建一个文件,改后缀为.bat,命名 startup.bat
@echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit :begin REM cd D:\frp\frp_0.37.1_windows_amd64 frpc -c frpc.ini exit
5、访问客户端管理平台
浏览器输入:http://127.0.0.1:7600/
6、开机启动
将startup.bat文件放到指定目录
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
三、本地tomcat部署的项目测试
本地tomcat端口8080,服务器对应的端口是8081
正常tomcat部署项目aaa.war,前端aaa-vue
访问地址:127.0.0.1:8080/aaa-vue, vue中后台请求的地址:127.0.0.1:8080/aaa
经过刚刚的配置,外网也可以访问,访问地址: 云服务ip:8081/aaa-vue, vue中后台请求的地址:云服务器ip:8081/aaa,这里和本地的不一样。
最后很重要一点,要将云服务安全组、防火墙的 7000、7500、8080、8081、8082端口都放开(7600是本地的,不需要放开,另外8082没用到)
原文链接:https://blog.csdn.net/lanren312/article/details/127941339