家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书

一、利用IStoreOS中已经安装好的DOCKER服务。

  • 为docker安装可视化Portainer面板

# 下载镜像
docker pull portainer/portainer

# 运行portainerUI图形界面
# -d后台运行 --name 命名 -p 端口映射(需要确认端口号是开放的) -v挂载
docker run -d --restart=always --name portainerUI -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

图片[1]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

二、进入Nginx Proxy Manager官网,获取docker-compose.yml配置文件

图片[2]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

version: '3.8'

services:

app:

image: 'jc21/nginx-proxy-manager:latest'

restart: unless-stopped

ports:

- '80:80'

- '81:81'

- '443:443'

volumes:

- ./data:/data

- ./letsencrypt:/etc/letsencrypt

  • 如果使用的是家庭公网IP,需要修改下端口,因为家宽公网IP封了80和443端口,那么以上代码端口号部分需要修改

ports:

- '80:80'

- '81:81'

- '443:443'

修改为:

ports:

- '8080:80'

- '81:81'

- '6443:443'

#这里面的80:80,指的是-本地端口:容器端口,那么我们只需要修改本地端口即可,容器端口不修改。

#自用带库官方配置文件

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port  #左边为外部访问端口家宽封80端口请改端口
      - '443:443' # Public HTTPS Port #左边为外部访问端口家宽封443端口请改端口
      - '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

三、进入docker面板,进行安装Nginx Proxy Manager

图片[3]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

图片[4]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

四、进入Nginx Proxy Manager 后台

  • IStoreOS的后台地址+端口81进入。

图片[5]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

默认管理员用户

Email:    admin@example.com
Password: changeme

五、端口转发

  • 内网地址就是IStoreOS的后台地址

图片[6]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

  • 这里的8080和6443就是刚才在配置服务器的端口。

六、泛域名解析

图片[7]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

七、DDNS配置

图片[8]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

八、配置SSL证书

  • 由于域名是用的阿里云的,所有我们就直接用阿里云的DNS来获取证书

图片[9]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

图片[10]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

九、配置反代服务器

图片[11]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

图片[12]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球


图片[13]-家宽如何使用Nginx Proxy Manager反向代理,快速配置远程访问及SSL证书。-VUM星球

十,针对腾讯云

nginx-proxy-manager关于DNSPod创建证书失败

nginx-proxy-manager关于DNSPod创建证书失败

此问题在2.9.19版本开始就已经存在,原因是zope引起的,由于ARM架构一直安装失败所以无法打包到镜像中,建议使用如下方法修复此问题:

首先确保nginx-proxy-manager-zh的Docker容器已经正常运行,使用docker-compose ps查看容器名,这里假设容器名为npm-zh

进入容器:(注意替换下文中的容器名)

docker exec -it 容器名 bash

 

执行安装zope命令:

python3 -m pip install --upgrade pip
pip install certbot-dns-dnspod
pip install zope

 

等待安装完成,退出容器:

exit

最后刷新浏览器,再次使用DNSPod创建证书即可