Frp内网穿透配置

本文介绍了frp的部署与配置,将frps部署于公网服务器,frpc部署于内网服务器。内容包括为本地HTTP服务启动HTTPS的Frps、Frpc及nginx配置,使用frp实现内网服务器的点对点穿透,还说明了给frp配置systemctl管理,以便用命令管理frp服务。

版本:frp_0.34.3_linux_amd64

目录

frps部署于公网服务器上,frpc部署于内网服务器上

一.给本地HTTP服务启动HTTPS

1.Frps端配置:

2.Frpc端配置:

3.nginx配置:

二、使用frp实现内网服务器的点对点穿透:


frps部署于公网服务器上,frpc部署于内网服务器上

一.给本地HTTP服务启动HTTPS

1.Frps端配置:

[common]
bind_port = 7000          #服务端监听端口
vhost_http_port = 80      #为 HTTP 类型代理监听的端口
vhost_https_port = 443    #为 HTTPS 类型代理监听的端口
dashboard_port = 7500     #启用 Dashboard 监听的本地端口
dashboard_user = admin    #HTTP BasicAuth 用户名
dashboard_pwd = Pasword888  #HTTP BasicAuth 密码
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = Password888

 

2.Frpc端配置:

为本地HTTP服务启用HTTPS,使用https2http插件 以及结合nginx 

[common]
server_addr = xxx.xxx.xxx.xxx  #连接服务端的地址,就是公网的frps端的服务器IP
server_port = 7000  #连接服务端的端口


[api208]            #自定义名称,多个frpc端的 需要注意区分不能重名
type = http
local_port = 80     #跳转到本地的80端口 然后用nginx实现转发
custom_domains = api.xxx.com  #这个是你使用的域名


[test]          #这里配置了一个前端服务的样例,使用www.xxx.com 即可访问对应的前端的静态页面
type = http
local_port = 8108
custom_domains = www.xxx.com



[https-api-208]      #自定义名称,多个frpc端的 需要注意区分不能重名
type = https
#local_port = 80     #使用了plugin配置 loacl_port和local_ip失效
custom_domains = api.xxx.com    #服务器绑定自定义域名,用户通过 vhost_http_port 访问的 HTTP 请求#如果 Host 在 custom_domains 配置的域名中,则会被路由到此代理配置的本地服务
plugin = https2http
plugin_local_addr = 127.0.0.1:80       #插件的端口为80,目的就是使用nginx进行服务转发
plugin_crt_path = /etc/nginx/xxx.crt   #这个crt和key是域名的密钥对
plugin_key_path = /etc/nginx/xxx.key
plugin_host_header_rewrite = 127.0.0.1
pugin_header_X-From-Where = frp

 

3.nginx配置:

server {
        listen 80;
        listen 443;
        server_name api.xxx.com; #填写绑定证书的域名
        access_log  /var/log/nginx/access_api.xxx.com.log  main;
        #ssl on;
        ssl_certificate /etc/nginx/1_xxx.com_bundle.crt;
        ssl_certificate_key /etc/nginx/2_xxx.com.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
        
	location /test_boot/ {
                proxy_pass http://127.0.0.1:8205;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                client_max_body_size 50m;
                proxy_connect_timeout 300s;
                proxy_send_timeout 300s;
                proxy_read_timeout 300s;
        }

}

 

 

 

 

 

 

二、使用frp实现内网服务器的点对点穿透:

frps端配置和上面一样

frpc端配置:

[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000 #frps服务端绑定的端口

[ssh-211]
type = tcp    #类型为tcp
local_ip = 127.0.0.1
local_port = 22     #22端口为ssh端口
remote_port = 6211  #远端访问的端口 即用 server_addr:remote_port 就可以访问到本地内网的服务器

访问内网服务器方式:公网服务器IP:remote_port     就会跳转到内网服务器的22端口  即为SSH连接

 

三、给frp配置systemctl管理

使用systemctl来控制启动

vi /lib/systemd/system/frpc.service #非root用户 要加上sudo

保存后就可以使用systemctl 命令来管理frp服务了

命令:systemctl  restart|stop|start|status  frpc

目录

frps部署于公网服务器上,frpc部署于内网服务器上

一.给本地HTTP服务启动HTTPS

1.Frps端配置:

2.Frpc端配置:

3.nginx配置:

二、使用frp实现内网服务器的点对点穿透:

三、给frp配置systemctl管理


### 海纳斯系统 FRP 内网穿透配置教程 #### 1. 安装FRP 在海纳斯(HarmonyOS)或其他类Unix操作系统上安装FRP,可以通过下载官方发布的二进制文件完成。以下是具体操作: 首先,前往FRP的GitHub页面获取最新版本的发布包[^1]: ```bash wget https://github.com/fatedier/frp/releases/download/v0.47.0/frp_0.47.0_linux_amd64.tar.gz tar -zxvf frp_0.47.0_linux_amd64.tar.gz cd frp_0.47.0_linux_amd64 ``` 将解压后的`frps`和`frpc`可执行文件移动至系统的PATH路径下以便全局调用。 #### 2. 配置服务端 (FRPS) 创建并编辑服务器端配置文件 `frps.ini`,通常放置于 `/etc/frp/` 或其他自定义目录中: ```ini [common] bind_port = 7000 # 设置服务端监听端口 dashboard_port = 7500 # 可选:设置仪表盘端口用于监控 token = your_token # 自定义令牌以增强安全性 vhost_http_port = 80 # 如果需要HTTP反向代理,则指定此端口 log_file = /var/log/frps.log # 日志记录位置 log_level = info # 日志级别 max_pool_count = 5 # 连接池大小 ``` 启动服务端程序: ```bash nohup ./frps -c /path/to/frps.ini & ``` #### 3. 配置客户端 (FRPC) 同样,在客户端设备上创建并编辑 `frpc.ini` 文件: ```ini [common] server_addr = x.x.x.x # 替换为实际的服务端IP地址 server_port = 7000 # 对应服务端绑定的端口号 token = your_token # 和服务端一致的安全令牌 [ssh] type = tcp # 协议类型 local_ip = 127.0.0.1 # 转发本地服务的IP地址 local_port = 22 # 转发本地服务的端口 remote_port = 6000 # 映射到公网上的远程端口 [web] type = http # HTTP协议转发 local_port = 80 # 本地Web服务运行的端口 custom_domains = example.com # 域名解析指向该服务 ``` 启动客户端程序: ```bash nohup ./frpc -c /path/to/frpc.ini & ``` #### 4. 将FRP作为系统服务管理 为了方便管理和自动重启,可以将FRP注册为系统服务。以下是以Linux环境为例的操作方法: ##### 创建服务单元文件 对于FRPS(服务端),新建 `/etc/systemd/system/frps.service` 文件: ```ini [Unit] Description=FRP Server Service After=network.target [Service] Type=simple User=root # 根据需求调整用户权限 WorkingDirectory=/usr/local/frp # 修改为实际工作目录 ExecStart=/usr/local/frp/frps -c /etc/frp/frps.ini Restart=on-failure [Install] WantedBy=multi-user.target ``` 对于FRPC(客户端),新建 `/etc/systemd/system/frpc.service` 文件: ```ini [Unit] Description=FRP Client Service After=network.target [Service] Type=simple User=root # 同样可根据需求修改 WorkingDirectory=/usr/local/frp # 实际工作目录 ExecStart=/usr/local/frp/frpc -c /etc/frp/frpc.ini Restart=on-failure [Install] WantedBy=multi-user.target ``` 启用并启动服务: ```bash systemctl daemon-reload # 刷新服务列表 systemctl enable frps # 开机自启服务端 systemctl start frps # 手动启动服务端 systemctl status frps # 查看状态 systemctl enable frpc # 开机自启客户端 systemctl start frpc # 手动启动客户端 systemctl status frpc # 查看状态 ``` 以上步骤完成后,FRP内网穿透工具即已成功部署并运行。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值