无公网服务器(ip)做内网穿透

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

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

三、步骤详解:

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

4.创建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

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

经验分享 程序员 微信小程序 职场和发展