brain-hole

家庭网络ipv6使用指南:Nginx Proxy Manager反向代理及证书配置

小茗同学 本文共:183 字 阅读需要:1 分钟 加载中...

家里的网络虽然有ipv6,但是站点比较多,总不能记下每个ipv6地址,还有部分环境配置动态域名比较繁琐。所以根据 YouTube Vedio Talk大佬的指南,对家庭ipv6的反向代理实现只有ipv6的情况下使用地址+端口号访问。

说明

1.已经开启了ipv6并且测试ipv6地址能正常访问openwrt。

2.需要自备一个域名。

2.Nginx Proxy Manager反向代理理论与端口转发Socat不能在同一个地址。 例如:我的端口转发Socat在主路由openwrt。(10.10.10.1)。Nginx Proxy Manager反向代理在pve的lxc容器下建的docker(10.10.10.2)

3.这个方法适用多个一个虚拟机多个环境,如果只是有一个docker那么可以直接安装Lucky大吉解析一个ip+端口理论也是行的。

环境部署

1.在主路由openwrt iStore 安装 Socat端口转发

2.在主路由openwrt iStore 安装 Lucky大吉 动态域名解析与同步

3.docker安装portainer,我使用的汉化版。安装成功后docker地址+9000就可以访问到portainer。

docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce

4.安装Nginx Proxy Manager反向代理,在portainer里面创建堆栈内容如下。

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '8080:80' # Public HTTP Port  需要更改的位置
      - '4443:443' # Public HTTPS Port 需要更改的位置
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      # Mysql/Maria connection parameters:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db

  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
      MARIADB_AUTO_UPGRADE: '1'
    volumes:
      - ./mysql:/var/lib/mysql

创建好后部署,成功后lxc容器+81即可访问Nginx Proxy Manager。

默认账户密码:

Email:    admin@example.com
Password: changeme

portainer、Nginx Proxy Manager及数据库

端口转发

在openwrt主路Socat设置端口转发,添加两个端口443转到4443和80转到8080

端口转发设置
端口转发设置

动态域名解析

需要解析的ipv6地址
域名解析类型AAAA
Lucky大吉 设置 解析的域名要填写泛域名

Nginx Proxy Manager配置ssl证书

证书有两种配置方式:一种是提前申请号上传,另外一种是使用Nginx Proxy Manager代申请
需要提前到cloudflare里面创建dns解析的api

域名添加

需要提前到cloudflare里面创建dns解析的api
添加域名

接下来就可以使用解析成功的域名加上端口号4443访问内网地址了。建议配置一个导航 这样会更方便。

注意事项

1.pve虚拟机的内网地址需要填写:https

2.如果有使用Home Assistant需要打开内网地址下面的第三个选项Websockets Support,不然是没办法访问的。