frp配置多端口内网穿透?frp多端口怎么配置?
- frp
- 时间:2023-06-17 16:57
- 3229人已阅读
简介
使用frp作为内网穿透的时候,有时候,我们需要多个端口穿透,怎么配置呢?思考:我们知道frp要想内网穿透,需要配置服务端和客户端。如果需要直接访问80端口的话,需要还需要在nginx做配置。那么下面,咱们就从这三个方面进行详细配置:一、frp服务端配置在服务器上找到frps.ini配置文件,然后配置信息如下:[common]#穿透监听端口与地址(0.0.0.0表示允许任何地址)bind_addr&
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
使用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
扩展: Centos7下Frp服务端后台运行以及开机自启(Frp客户端同理) 。可以参考:http://www.kaigejava.com/newuiarticle/detail/769 这篇文章
二、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 ~^/ { resolver 8.8.8.8; proxy_pass http://$host:8079; 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:8079; expires 30d; } location ~ .*\.(js|css)?$ { expires 1d; } } # 端口8082映射到80端口 server { listen 80; server_name app3.nnn.com .com; location ~^/ { resolver 8.8.8.8; proxy_pass http://$host:8082; 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: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管理页面就是在frps.ini里面配置7500相关的用户名和密码。
访问地址就是frp服务端的ip:7500。然后输入用户名和密码,就可以访问了。在Proxies菜单下,点击TCP,可以看到对应的端口。如下图所示: