前言

对于不会配置 Nginx 的小伙伴 Nginx Proxy Manager 可以像宝塔面板一样的UI界面轻松的管理端口转发,完成反向代理的设置和SSL证书的部署。

对于喜欢写配置的同学可以使用 nginxconfig.io,更快速的完成 Nginx 配置

开始

官网:https://nginxproxymanager.com/

这里使用 MySQL / MariaDB 数据库作为数据库,使用 docker-compose.yml 来一键部署

配置文件:

这里给出了官网的示例,已经可以满足需求

version: "3"
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
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP
    environment:
      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'
    volumes:
      - ./data/mysql:/var/lib/mysql

在浏览器地址输入 http://ip:81 这里的 ip 是你服务器的 ip

默认登陆名和密码:

Email:    admin@example.com
Password: changeme

第一次登录需要填写个人信息以及修改密码,完成后登出重新登录

开始使用反向代理

92ebaf968cd4433f8ec9e0b5edf33b02.png

点击 Proxy Hosts 进入后点击右上角的 Add Proxy Host

2895a0ff42344206b5740723797f7807.png

c71e62f63daf4a7aa99e0734e2150197.png