Nginx Proxy Manager

优点

  1. 一款 Nginx 可视化管理界面
  2. 无需了解 Nginx 即可轻松创建转发域、重定向、流和 404 主机
  3. 使用 Let’s Encrypt 的免费 SSL 或提供您自己的自定义 SSL 证书
  4. 通过单独的配置、自定义和入侵保护来管理多个代理
  5. 主机的访问列表和基本 HTTP 身份验证
  6. 用户管理、权限和审核日志

官网

安装(基于docker-compose)

创建文件: docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3.8'
services:
nginx-proxy-manager:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
container_name: nginxProxyManager
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ~/data:/data
- ~/letsencrypt:/etc/letsencrypt
  1. 81 为 管理后台端口, 80/443分别为 http与https需要使用端口,需要确保不被占用
  2. /data 为nginx配置文件夹, 可以根据需要修改路径,同时也支持手动新增部分配置文件
  3. /etc/letsencrypt 为 证书生成目录
  4. 对应端口与目录都可以根据自己需要进行更改

创建运行容器

1
2
3
4
5
6
# 本人使用这个命令
docker-compose up -d


# 需要安装插件 docker-compose-plugin
docker compose up -d

访问容器

1
2
http://ip:81
ip 修改为实际ip,安装在本机则为127.0.0.1

系统图片

  1. 参考官方文档提供的截图, 传送门
  2. 具体教程可以进入官网,查看对应教程

难点功能

增加负载均衡站点

  1. 在docker 映射 data 目录内,新建 custom文件夹, 在custom内新建http.conf 文件
  2. 新建内容 upstream 配置
    1
    2
    3
    4
    5
    6
    7
    # http.conf配置
    upstream serverName {
    server ip1:port;
    server ip2:port;
    }

    # 支持 weight 语法、 ip_hash; fair;等等
  3. 在管理后台新建代理时,选中 advanced, 输入自定义配置,进行保存即可
    1
    2
    3
    4
    5
    # advanced 内容
    location / {
    # backend 就是服务器组的名称
    proxy_pass http://serverName/;
    }