一、使用场景介绍:将内网的服务器集群管理平台穿透到外网进行操作,一般会使用frp进行框架;由于frp的网络由公网代理的服务器带宽决定,所以本文采用DDNSTO无公网服务器进行穿透(免费试用效果好也可以选择付费)。

二、穿透原理简介:ip为6的目标机-->ip为11的内网代理-->ddsnto平台外网代理--->外网访问

三、步骤详解:

1、去ddsnto申请一个账号,官网链接DDNSTO

2、docker安装请参考链接中的第4、5、6、7 、8个小步骤(9条消息) docker快速搭建测试数据库(Mysql、Oracle、SqlServer)及ftp文件服务器_Morik的博客-CSDN博客https://blog.csdn.net/qq_29653373/article/details/110225767?spm=1001.2014.3001.5501 

3、docker-compose安装请参考链接中的三 - 2

(9条消息) 微服务架构-简介_Morik的博客-CSDN博客https://blog.csdn.net/qq_29653373/article/details/120638772?spm=1001.2014.3001.55014.创建nginx及ddsnto的docker-compose配置(vi dev.yml)

version: '3'
services:
  nginx:
    image: nginx:1.19.1-alpine
    container_name: nginx-alpine
    restart: always
    privileged: true
    environment:
      - TZ=Asia/Shanghai 
    ports:
      - 8080:80
      - 80:80
      - 443:443
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ./nginx/conf:/etc/nginx           # 配置映射  冒号前边的是宿主机地址,后边是容器地址
      - ./nginx/log:/var/log/nginx        # 日志映射
      - ./nginx/dist:/opt/dist:ro         # 访问的资源映射 如主页、404/500等错误页
    networks:
      - umf03
  ddnsto:
    image: linkease/ddnsto
    restart: always
    environment:
      - TOKEN=****33d2-****-****-****-9fd30e3a****   # 第1步从平台获取的token
      - DEVICE_IDX=3           # 需要被穿透的主机序号随便写我这里是第三台
      - PUID=0                 # root 所在的uid 可以根据实际用户给
      - PGID=0                 # root 所在的Gid 可以根据实际用户给
    volumes:
      - /etc/localtime:/etc/localtime:ro
    networks:
      - umf03

networks:
  umf03:
    driver: bridge

5、nginx配置(ssl文件请自行生成并更改),dev资源文件已打包可以下载参考:https://download.csdn.net/download/qq_29653373/78252656

6、运行nginx及ddsnto:进入dev.yml所在的文件加下执行   docker-compose -f dev.yml up -d 

7、登录ddsnto将内网https添加到映射里边

 8、点击外网域名查看效果

 

四:备注:mkcer生成ssl证书

1、安装工具nss-tools

[root@anonymous mkcert-1.4.1]# yum install nss-tools
2、下载 mkcert-1.4.1

[root@anonymous mkcert-1.4.1]# wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.4.1/mkcert-v1.4.1-linux-amd64
3、给执行权限,并移动到命令集里

[root@anonymous mkcert-1.4.1]# chmod +x  mkcert
[root@anonymous mkcert-1.4.1]# mv mkcert /usr/local/bin
4、生成本地证书拷贝到ssl目录下

[root@anonymous mkcert-1.4.1]# mkcert umf-13.com 127.0.0.1 localhost

 

更多推荐