VPS

frp内网穿透搭建

zhenxi
2023-09-28 / 0 评论 / 10 阅读 / 正在检测是否收录...

1 购买VPS

前几天腾讯云三周年购买了一台年抛轻量应用服务器。配置2H2G40G,58一年。国内的机子搭建网站需要备案,于是就搭建一些docker应用程序,相当于学习了。

image-20230927143030555

腾讯云可以选择使用docker容器镜像重装系统,使用这个重装系统下面服务端就不需要再安装docker了:

image-20230927143201240

2 搭建过程

2.1 搭建frp服务端

下载docker:

curl -sSL https://get.docker.com/ | sh

下载docker-compose:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

创建frp目录:

sudo -i

mkdir -p /root/data/docker_data/frps

cd /root/data/docker_data/frps

image-20230927143436640

创建docker-compose:

touch frps.ini

vim docker-compose.yml
version: '3.3'
services:
    frps:
        restart: always
        network_mode: host
        volumes:
            - './frps.ini:/etc/frp/frps.ini'
        container_name: frps
        image: snowdreamtech/frps

image-20230927143653373

image-20230927143727910

配置 frps.ini文件:

[common]

#frp 监听端口,与客户端绑定端口

bind_port= 5443
kcp_bind_port = 5443


#dashboard用户名

dashboard_user= zhenxi

#dashboard密码

dashboard_pwd= passwd

#dashboard端口,启动成功后可通过浏览器访问如http://ip:9527

dashboard_port= 9527

#设置客户端token,对应客户端有页需要配置一定要记住,如果客户端不填写你连不上服务端

token = 8ad3d1x429a2d131411

image-20230927144238843

启动frp服务端:

docker-compose up -d

image-20230927144347762

查看docker运行情况:

docker ps

image-20230927144441129

通过IP加端口访问frp:

http://公网IP:9527

记得打开防火墙,放开端口。

image-20230928100811738

直接安装下面的选择即可:

image-20230928100831944

image-20230927144607129

2.2 搭建frp客户端

下载docker:

curl -sSL https://get.docker.com/ | sh

下载docker-compose:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

image-20230927212114374

创建frp客户端文件:

mkdir -p /root/data/docker_data/frpc
cd /root/data/docker_data/frpc
touch frpc.ini
vim docker-compose.yml

编写docker-compose配置文件:

version: '3.3'
services:
    frpc:
        restart: always
        network_mode: host
        volumes:
            - './frpc.ini:/etc/frp/frpc.ini'
        container_name: frpc
        image: snowdreamtech/frpc

编写frpc初始化文件:

vim frpc.ini
# frpc.ini
[common]
server_addr = 43.143.174.4   # 更改为服务器IP
server_port = 5443             # 更改为服务端端口
token = 8ad3d1x429a2d131411        # 和服务端的token一致

[ssh]
type = tcp                    
local_ip = 127.0.0.1
local_port = 222                # 可更改为内网某个应用程序的访问端口
# 这个自定义,之后再ssh连接的时候要用
remote_port = 6000                 # 通过服务器IP访问内网的端口号,也就是通过这个端口来访问内网的端口

[京东至臻链]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 6001
use_encryption = true
use_compression = true

启动frp客户端docker:

docker-compose up -d

image-20230927211422676

frp后台显示:

image-20230927205657548

使用服务器IP+端口访问内网部署的项目:

image-20230927212610663

3 反向代理

3.1 安装 Nginx Proxy Manager

创建一下安装的目录:

sudo -i

mkdir -p /root/data/docker_data/npm

cd /root/data/docker_data/npm

这边我们直接用 docker 的方式安装。

vim docker-compose.yml

英文输入法下,按 i

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'  # 冒号左边可以改成自己服务器未被占用的端口
      - '81:81'  # 冒号左边可以改成自己服务器未被占用的端口
      - '443:443' # 冒号左边可以改成自己服务器未被占用的端口
    volumes:
      - ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
      - ./letsencrypt:/etc/letsencrypt  # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中

按一下 esc,然后 :wq 保存退出。

3.2 运行并访问 Nginx Proxy Manager

最后:

cd /root/data/docker_data/npm   # 来到 dockercompose 文件所在的文件夹下

docker-compose up -d 

理论上我们就可以输入 http://ip:81 访问了。

默认登陆名和密码:

Email:    admin@example.com
Password: changeme

登录成功之后进行密码更改:

image-20230927213600702

3.3 配置反向代理

先解析域名:

阿里云解析:

image-20230927214040327

image-20230927214122309

image-20230927214136332

Cloudflare解析:

image-20230927214259686

点击Proxy Hosts:

image-20230927213650061

配置反向代理:

image-20230927213803587

申请免费证书:

image-20230927213831454

打开SSL:

image-20230927213845063

这样就可以通过https://域名来访问了。

4 搭建时遇到的问题

4.1 报错内容

安装后执行docker-compose --version报错

在这里插入图片描述

在这里插入图片描述

 /usr/local/bin/docker-compose: line 1: Not: command not found

4.2 解决办法

Docker-Compose 的Docker文档是错误的。他们忘记在命令中的版本号前面加上“ v ”;因此下载失败。显示文件是空的。
在下载链接中的版本号前加上“ v ”!!!

sudo curl -L "https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

在这里插入图片描述

sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

0

评论

博主关闭了所有页面的评论