首页 > 其他分享 >frp配置多端口内网穿透?frp多端口怎么配置?

frp配置多端口内网穿透?frp多端口怎么配置?

时间:2023-06-18 10:37:20浏览次数:41  
标签:配置 端口 tcp frp proxy port

FRP内网穿透应用场景:本地Web服务外网访问、本地开发微信、本地联调支付宝\微信支付、TCP/UDP端口转发

在本机开发好的网站想让客户测试不在需要上传到服务器上面,使用FRP内外网穿透轻松解决;微信开发也不需要在上传到服务器,使用免费FRP内网穿透服务器帮您解决80端口问题,实现微信服务器直接访问到您本机web服务。

使用frp作为内网穿透的时候,有时候,我们需要多个端口穿透,怎么配置呢?

frp配置多端口内网穿透?frp多端口怎么配置?_服务端

FRP内内网穿透应用场景

思考:
我们知道frp要想内网穿透,需要配置服务端和客户端。如果需要直接访问80端口的话,需要还需要在nginx做配置。那么下面,咱们就从这三个方面进行详细配置:

frp配置多端口内网穿透?frp多端口怎么配置?_服务端_02

一、frp服务端配置

frp配置多端口内网穿透?frp多端口怎么配置?_服务端_03

在服务器上找到frps.ini配置文件,然后配置信息如下:

[common]
#穿透监听端口与地址(0.0.0.0表示允许任何地址)
bind_addr = 0.0.0.0
bind_port = 7000
# 跟frpc通讯验证密钥
token = 可以自定义的token.如果需要的话请自行配置。如果不需要,可以注释掉
subdomain_host = 访问的域名。如果需要的话修改成自己的
#服务器用以显示连接状态的站点端口,以下配置中可以通过访问IP:7500登录查看frp服务端状态等信息
dashboard_addr = 0.0.0.0
dashboard_port = 7500
dashboard_user = 自定义的用户名
dashboard_pwd = 自定义的密码

#日志路径
log_file = /home/frp_0.46.1_linux_amd64/log/frps.log

#以下是配置多端口的
#端口8079是博客管理后台的项目
[tcp_blog-admin]
type = tcp
local_port = 8079
listen_port = 8079

#端口8080是博客前台项目访问地址
[tcp_blog]
type = tcp
local_port = 8080
listen_port = 8080

#端口8082是其他项目访问的
[tcp_app3]
type = tcp
local_port = 8082
listen_port = 8082

配置完成之后,如果将frp配置成随机启动的。可以直接执行以下命令,来重启frp

systemctl restart frps

扩展:《 Centos7下Frp服务端后台运行以及开机自启(Frp客户端同理)》 。可以参考:在凯哥个人博客搜索【frp】关键字 这篇文章

frp配置多端口内网穿透?frp多端口怎么配置?_服务器_04

二、Nginx配置

frp配置多端口内网穿透?frp多端口怎么配置?_服务器_05

在Nginx的配置文件中添加如下配置:

# 端口8080映射到80端口
server {
    listen 80;
    server_name blog.xxx.com;

    location / {
        resolver 8.8.8.8;
        proxy_pass http://$host:8080;
        proxy_redirect off;
        client_max_body_size 10m;
        client_body_buffer_size 128k;
        proxy_connect_timeout 90;
        proxy_read_timeout 90;
        proxy_buffer_size 6k;
        proxy_buffers 6 128k;
        proxy_busy_buffers_size 256k;
        proxy_temp_file_write_size 256k;

        proxy_set_header Host $http_host;
    }

    location ~ .*\.(gif|jpg|png|bmp|swf|css|js)$ {
        proxy_pass http://$host:8080;
        expires 30d;
    }

    location ~ .*\.(js|css)?$ {
        expires 1d;
    }
}

# 端口8079映射到80端口
server {
    listen 80;
    server_name blog-admin.mmmm.com;

    location / {
        proxy_pass http://127.0.0.1:8079;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location ~ .*\.(gif|jpg|png|bmp|swf|css|js)$ {
        proxy_pass http://$host:8079;
        expires 30d;
    }
    location ~ .*\.(js|css)?$ {
        expires 1d;
    }
}

# 端口8082映射到80端口
server {
    listen 80;
    server_name app3.nnn.com
    .com;

    location / {
        proxy_pass http://127.0.0.1:8082;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location ~ .*\.(gif|jpg|png|bmp|swf|css|js)$ {
        proxy_pass http://$host:8082;
        expires 30d;
    }
    location ~ .*\.(js|css)?$ {
        expires 1d;
    }
}

需要注意:server_name 不能配置一样。如果配置一样,在执行下面的重启命令时候,会提示失败

配置完Nginx之后,需要重启Nginx的。重启命令:

/usr/local/nginx/sbin/nginx -s reload


frp配置多端口内网穿透?frp多端口怎么配置?_服务器_06

三、frpc.ini配置

frp配置多端口内网穿透?frp多端口怎么配置?_服务器_07

配置完frp的服务端、Nginx之后,我们现在再来配置frp客户端

[common]
server_addr = frp服务端所服务器所在的ip
server_port = 7000
token = 这里的token必须和frps.ini里面配置的一致

# 配置8079端口
[tcp_blog-admin]
type = tcp
local_ip = 127.0.0.1
local_port = 8079
remote_port = 8079
custom_domains = blog-admin.xxx.com

# 配置8080端口
[tcp_blog]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 8080
custom_domains = blog.mmmm.com

# 配置8082端口
[tcp_app3]
type = tcp
local_ip = 127.0.0.1
local_port = 8082
remote_port = 8082
custom_domains = app3.nnn.com

需要注意:custom_domains 不能配置一样。如果配置一样,在执行重启frp客户端的时候,会提示错误信息的。

配置完成之后,重启frp的客户端。 可以看到如图所示,说明已经frp多端口配置成功

frp配置多端口内网穿透?frp多端口怎么配置?_服务器_08

frp客户端启动成功示例图

如果还是不放心,可以登录frp的管理页面进行查看。

frp管理页面就是在frps.ini里面配置7500相关的用户名和密码。

访问地址就是frp服务端的ip:7500。然后输入用户名和密码,就可以访问了。在Proxies菜单下,点击TCP,可以看到对应的端口。如下图所示:

frp配置多端口内网穿透?frp多端口怎么配置?_服务器_09

frp管理界面查看启动的三个不同端口



标签:配置,端口,tcp,frp,proxy,port
From: https://blog.51cto.com/kaigejava/6507395

相关文章

  • 集群版fastFDS安装配置
    在单机版的基础上搭建集群版一、主机规划主机名IP地址操作系统配置kht111192.168.2.111Centos7.8基础设施服务器2颗CPU2G内存50G硬盘kht112192.168.2.112Centos7.8基础设施服务器2颗CPU2G内存50G硬盘kht113192.168.2.113Centos7.8......
  • 关于uni-app与vue路由配置的不同,不使用uni.navigateTo接口跳转时,使用this.$router.pus
    之前用vue写router路由的时候,先配置一个路由表,然后再将配好的路由push到已有的组件里面,再通过<RouterView></RouterView>方法将每一个调用的路由的内容渲染到父组件要用的位置。今晚我在用uni-app的时候,突然不想用uni-app自己提供的路由跳转方法:uni.navigateTo我想用vue那种路由......
  • 使用nginx作为反向代理配置多个域名的https证书
    偶然想到,自己还没有做好使用nginx作为反向代理,搭配多个域名的https,心血来潮,就问了下bing怎么做。docker-compose.ymlversion:'3.7'services:nginx-proxy:image:jwilder/nginx-proxycontainer_name:nginx-proxyrestart:alwaysports:-80:80......
  • LVM 卷管理及配额的配置
    LVM卷管理及配额的配置推荐步骤:➢添加一块➢创建物理卷将/dev/sdb1、sdb2、sdb3转换为物理卷,将物理卷添加到卷组bdqn中,在bdqn卷组中创建lvm逻辑卷名字为xs指定大小为20G,逻辑卷格式化为xfs文件系统,挂载到/xfs目录➢配置磁盘配额设置实验步骤:添加一块查看添加的计......
  • PHP开发:版本管理、服务器配置和最佳实践
    一、PHP版本和扩展管理:在PHP开发中,使用最新版本的PHP和相关扩展非常重要。版本更新通常包含新功能、修复漏洞和提高性能。我们将介绍如何使用包管理器(如Composer)来管理PHP的版本和扩展,并演示如何安装和更新它们。示例代码:#使用Composer安装PHP依赖包composerrequirevendor/pac......
  • WIN10安装配置Hadoop
    原文链接:WIN10安装配置Hadoop【作者:余生】本文记录在WIN10上hadoop单节点的安装,后续再记录多节点分布式的安装。1、安装JAVA环境下载JDK8,官网链接:JavaSEDevelopmentKit8选择64版本:jdk-8u241-windows-x64.exe下载过程会提示注册oracle账号,请注册,如果是已有oracle账号的可......
  • nginx反向代理实现不同域名映射到同一台服务器的相同端口
    在实际应用中,我们经常会遇到多个域名需要映射到同一台服务器的相同端口的情况,这时可以使用nginx反向代理来实现。以实现将www.example.com和www.test.com都映射到127.0.0.1的80端口为例,具体步骤如下:修改hosts文件在本地hosts文件中添加以下两行:127.0.0.1www.example.com127.0.0.1......
  • 小tips:docker 配置国内镜像地址
    在配置文件daemon.json中添加国内镜像,让其下载加速。vi/etc/docker/daemon.json如下国内镜像:{"registry-mirrors":["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]d......
  • 服务器CPU和普通家用CPU的区别,服务器如何选择CPU配置?
    大家都知道服务器是指那些具有较高计算能力,能够提供响应成千上万用户服务请求的一种高性能计算机服务器,虽然在硬件结构上和通用的个人计算机(PC)非常相似,但两者在性能和功能上相差甚远,其中服务器的CPU和普通家用的CPU也是一样的,今天咱们来分析一下CPU间的不同之处1.指令集不同家用或......
  • Day02 2.2 ADB配置和使用
    ADB配置和使用【一】什么是ADB「adb」即AndroidDebugBridge,亦称安卓调试桥是谷歌为安卓开发者提供的开发工具之一,可以让你的电脑以指令窗口的方式控制手机。可以在安卓开发者网页中的SDK平台工具页面下直接下载对应系统的adb配置文件,大小只有几十MB1下载地址(......