参考博客:
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
# 名称,自己定义,不可重复
[tcp-ssh-22]
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
正常部署项目访问地址:127.0.0.1:8080/aaa
经过刚刚的配置,外网也可以访问,访问地址: 云服务ip:8081/aaa
最后很重要一点,要将云服务安全组、防火墙的 7000、7500、8080、8081、8082端口都放开(7600是本地的,不需要放开,另外8082没用到)