内网穿透利器frp部署配置指南
2023-06-13 09:13:17 时间
· · 220 次点击 ·
·
开始浏览
frp是一个使用go语言开发的反向代理服务,可用于内网穿透,支持tcp, udp协议,为http和https协议提供了额外的能力,且尝试性支持了点对点穿透。 由于ngrok 2.x已经闭源,ngrok 1.x已不再维护,所以这里尝试使用frp替代ngrok作为个人的内网穿透工具。
0.前提条件 一台Linux云主机(这里是CentOS 7),并要求具有固定公网IP暴露这台云主机指定端口的能力 有一个域名解析到这个公网IP,如frp.frognew.com和*.frp.frognew.com解析到这个公网IP 1. 下载frp服务端frps和客户端frpc可执行文件分别在服务器和个人本地机器上,从[https://github.com/fatedier/frp/releases]下载对应平台的frp服务端frps和客户端frpc可执行文件。 这里下载的0.29版本。
服务端:
wget https://github.com/fatedier/frp/releases/download/v0.29.0/frp_0.29.0_linux_amd64.tar.gz tar -zxvf frp_0.29.0_linux_amd64.tar.gz cd frp_0.29.0_linux_amd64 mkdir /usr/local/frp cp frps /usr/local/frp cp frps.ini /usr/local/frp2. 配置启动服务端frps
编写frps的Systemd配置文件/etc/systemd/system/frps.service:
[Unit] Description=Frp Server Service After=network.target [Service] Type=simple User=nobody Restart=on-failure RestartSec=5s ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini [Install] WantedBy=multi-user.target
修改frps的配置文件/usr/local/frp/frps.ini:
[common] bind_port = 17000 vhost_http_port = 8082 token = 12345678
启动frps:
systemctl enable frps systemctl start frps netstat -nltp | grep frps tcp6 0 0 :::17000 :::* LISTEN 32481/frps tcp6 0 0 :::8082 :::* LISTEN 32481/frps3.nginx配置
接下来配置nginx反向代理frps的http服务:
server { listen 80; server_name *.frp.frognew.com; rewrite ^(.*)$ https://$host$1 permanent;4.frp客户端配置
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host:8082; proxy_set_header X-Nginx-Proxy true; proxy_set_header Connection ""; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_certificate /etc/letsencrypt/live/frognew.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/frognew.com/privkey.pem; location / { # proxy_intercept_errors on; # error_page 404 /404.html; proxy_pass http://127.0.0.1:8082;
使用python在本地快速启动一个http服务用于测试:
python3 -m http.server 8080
下面将使用frp将这个http服务暴露到公网,编写frp客户端frpc的配置文件frpc.ini:
[common] server_addr = frp.frognew.com server_port = 17000 tls_enable = true token = 12345678
使用http://demo.frp.frognew.com即可从公网访问前面使用python启动的用于测试的http服务。
上面只是frp的基本功能,frp还提供更多的功能。 关于frp的更多内容可以查看官方文档frp。
220 次点击
加入收藏
相关文章
- Idea配置热部署「建议收藏」
- 12-Kubernetes进阶之开发环境部署与配置
- springboot idea 热部署配置
- react脚手架配置px自动转rem
- 宝塔部署ant-design-pro vue配置
- IDEA配置热部署Devtools(微服务开发必备)
- NTP时间同步服务器部署及客户端配置
- 网络视频监控如何入门?如何安装和配置、设备选择和实时监控?
- Linux 下的zabbix agent监控部署及配置方法详解
- SpringBoot热部署配置详解编程语言
- 部署「Linux 一键部署:实现简单快速的开发环境配置」(linux一键环境)
- Linux服务器上配置域名快速解决方案(linux服务器配置域名)
- Linux下的DNS客户端使用及配置(linuxdns客户端)
- MySQL配置性能优化:获得最佳性能(mysql配置性能优化)
- 简易指南:Oracle数据库快速部署配置(oracle数据库 配置)
- 使用Redis实现可靠的分布式系统(redis分布式部署配置)
- 极速部署本地Redis服务器配置指南(本地redis服务器配置)
- K8S中快速部署Oracle(k8s配置oracle)
- 深入理解持久层配置Redis缓存技术(持久层配置redis缓存)
- MySQL快速配置指南一键环境部署方法分享(mysql一键配置环境)
- 红色可乐快速部署Redis集群副本(redis集群配置副本)
- 下的正确方法部署Redis局域网下正确配置指南(redis 配置局域网)
- 快速Redis部署外网地址配置指南(redis配置外网地址)
- Oracle12安装配置简易指南(oracle12安装配置)
- Nginx限制带宽配置示例