最简单的centos搭建frp内网穿透

首先服务端搭建

1.进入软件安装目录
cd /usr/local/src
2.下载frp 版本可以自己选择,如果下载慢,可以直接通过浏览器或挂代理下载
wget https://github.com/fatedier/frp/releases/download/v0.34.2/frp_0.34.2_linux_amd64.tar.gz
3.解压 frp_0.34.2_linux_amd64.tar.gz
tar -xzvf frp_0.34.2_linux_amd64.tar.gz
4.将软件文件夹移动到安装目录(可以自己定义)
mv  frp_0.34.2_linux_amd64 /usr/local/frps
5.进入frp
cd /usr/local/frps
6.修改配置
vim  /usr/local/frps/frps.ini
=====这是frps.ini的内容========
# [common] is integral section
[common]
# A literal address or host name for IPv6 must be enclosed
# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"
#服务端口 如果是云服务器需要开放端口
bind_port =  7000
authentication_method = token
#需要自己定义复杂密码
token =  123456
#这个是nginx需要转发的端口号
vhost_http_port = 7550

=====这是frps.ini的内容========
客户端:步骤(前几步和服务端一样,只不过用的命令不同。服务端用 frps 配置用 frps.ini 客户端用 frpc 配置用 frpc.ini)
1.进入软件安装目录
cd /usr/local/src
2.下载frp 版本可以自己选择,如果下载慢,可以直接通过浏览器或挂代理下载
wget https://github.com/fatedier/frp/releases/download/v0.34.2/frp_0.34.2_linux_amd64.tar.gz
3.解压 frp_0.34.2_linux_amd64.tar.gz
tar -xzvf frp_0.34.2_linux_amd64.tar.gz
4.将软件文件夹移动到安装目录(可以自己定义)
mv  frp_0.34.2_linux_amd64 /usr/local/frpc
5.进入frpc
cd /usr/local/frpc
6.修改配置
vim  /usr/local/frpc/frpc.ini

=====这是frps.ini的内容========
# [common] is integral section
[common]
# A literal address or host name for IPv6 must be enclosed
# in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80"
#服务端口 如果是云服务器需要开放端口
bind_port =  7000
authentication_method = token
#需要自己定义复杂密码
token =  123456
#这个是nginx需要转发的端口号
vhost_http_port = 7550

=====这是frpc.ini的内容========
#这是公共的用来验证链接服务端的
[common]
#服务端ip
server_addr = xxxxx
#服务端端口
server_port = 7000
#验证方式
authentication_method = token
#服务端密码
token = 123456
#定义ssh配置
[ssh]
#协议类型 tcp
type = tcp
#本地ip 一般本机 127.0.0.1
local_ip = 127.0.0.1
#这个是本地端口
local_port = 22
#这个是服务端需要开放的端口 比如我们连22 需要 公网ip:2232端口进行连接
remote_port = 2232
#这个是访问本地宝塔面板
[bt]
#这个是协议类型
type=tcp
#这个是本地ip
local_ip = 127.0.0.1
#这个是本地宝塔端口
local_port = 8888
#这个是服务端需要开放的端口 通过 公网ip:8887 可以直接访问本地宝塔面板
remote_port= 8887
#这个是web项目配置
[web_one]
#本地ip
local_ip = 127.0.0.1
#协议类型
type=http
#本地web端口
local_port=80
#这是你的域名
custom_domains = test.xxx.com
=====这是frpc.ini的内容========
 

我们可以启动服务端和客户端

服务端:/usr/local/frps/frps -c /usr/local/frps/frps.ini

客户端:/usr/local/frpc/frpc -c /usr/local/frpc/frpc.ini

这里推荐使用supervisor 进行守护进程的监听 将命令添加到supervisord的配置文件中,这样可以防止进程断开停止解析,增加健壮性

注意域名解析需要配置nginx

1.首先域名解析到对应的公网ip 比如:test.xxx.com --> 47.60.66.255

2.在vhost中创建对应的conf文件。如:test.xxxx.conf

3.vim test.xxxx.conf

server
{
    listen 80;
    server_name  test.xxxx.com;

    #禁止访问的文件或目录
    access_log  /www/wwwlogs/xxxx.success.log;
    error_log  /www/wwwlogs/xxxx.error.log;
   
     location / {
    #这里端口很关键 对应frp服务端配置文件中 vhost_http_port = 7550 proxy_pass http:
//127.0.0.1:7550; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect http:// https://; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; } }

4.客户端机器 也需要配置域名解析到项目

 

 

 
posted @ 2022-07-11 15:21  phpwyl  阅读(4435)  评论(0编辑  收藏  举报