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

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

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

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

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

FRP内内网穿透应用场景

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

一、frp服务端配置

在服务器上找到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

二、Nginx配置

在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

三、frpc.ini配置

配置完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多端口怎么配置?

frp客户端启动成功示例图

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

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

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

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

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

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/11630

(0)
凯影的头像凯影
上一篇 2024年5月10日 下午3:17
下一篇 2024年5月11日 下午2:56

相关推荐

  • Hyper-V虚拟机显卡虚拟化VGPU 配置指南V2.0

    ⚠️ 重要前提 🔧 配置脚本(管理员 PowerShell) 运行脚本(管理员权限) 脚本操作流程(交互式步骤) 步骤 操作 说明 1 输入虚拟机名称 输入您要配置的Hyper-V虚拟机名称(区分大小写) 2 确认关闭虚拟机 如果虚拟机正在运行,需要关闭才能继续 3 设置显存分配 输入推荐显存大小(GB),默认1GB 4 确认配置 查看配置参数并确认应用 5…

    2025年6月14日
    2.3K00
  • 如何在 Ubuntu 22.04 上启用 BBR?

    由于购买的VPS或者主机数据中心都在国外,经常会发生网络拥堵的情况,我们可以通过启用BBR来优化。 在Ubuntu系统上启用BBR可以提升网络连接速度,优化网络拥堵情况。 BBR代表瓶颈带宽,RTT是拥塞控制系统。 您可以在 Linux 桌面上启用 TCP BBR 以改善整体网上冲浪体验。 默认情况下,Linux 使用 Reno 和 CUBIC 拥塞控制算法…

    2024年3月12日
    1.9K00
  • 如何修复Linux系统中已知的系统软件缺陷?

    Linux操作系统的ECS实例某些业务运行异常问题,是由Linux操作系统本身已知的系统软件缺陷导致,若您的ECS实例的操作系统不是最新版本,可以尝试通过手动升级ECS实例的操作系统软件包来修复。 当前已知的Linux系统软件缺陷如下: 可通过升级操作系统中软件解决的Linux ECS实例问题 在CentOS或RHEL 7实例上,启动某个服务或进程时提示端口…

    2023年11月14日
    1.3K00
  • 800 多个 Kubectl 常用命令,再也不怕不会用 Kubernetes!

    这个存储库包含脚本 gener_ aliases.py 可以生成数百个方便的 kubectl shell 别名,您不再需要拼写出每个命令和–flag 参数。 通过命令/标志排列创建的 shell 别名示例如下: 示例 800 个别名,下面列出一部分: 访问下面地址,查看所有别名: 安装 您可以直接下载 bash/zsh 的文件…

    2023年7月26日
    1.2K00
  • Redis数据备份与恢复

    一、备份 1、cmd命令下,找到redis安装目录 2、创建dump.rdb文件 该命令将在 redis 备份目录中创建dump.rdb文件。 3、查看备份路径 备份后的文件名:dump.rdb 二、恢复 1、将dump.rdb拷贝到目标机,备份文件的目录下 2、重启redis服务 3、打开客户端刷新就能看到新的数据了 PS: 如果电脑安装了两个redis客…

    2022年11月12日
    1.3K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信