甲骨文云Docker部署Nginx-Proxy-Manager反向代理工具

Nginx-Proxy-Manager 是一个开源的反向代理管理系统,它基于 NGINX,具有漂亮干净的 WebUI。还可以获得受信任的 SSL 证书,并通过单独的配置、自定义和入侵保护来管理多个代理。

特征

  • 基于 Tabler 的美观且安全的管理界面
  • 无需了解 Nginx 即可轻松创建代理主机、重定向、流和 404 主机
  • 使用 Let's Encrypt 免费 SSL 或提供您自己的自定义 SSL 证书
  • 主机的访问列表和基本 HTTP 身份验证
  • 超级用户可用的高级 Nginx 配置
  • 用户管理、权限和审核日志

准备工作

SSH 登入你的 VPS ,使用下面的命令获取 root 权限。

sudo -i

正式部署

创建一个与此类似的 docker-compose.yml 文件,这是所需的最低配置。

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: nginx-proxy-manager
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

通过以下命令启动容器

docker-compose up -d
或
docker compose up -d

在浏览器输入 http://127.0.0.1:81 来进入管理界面。

首次登录凭证
Email: admin@example.com
密码: changeme

使用此默认用户登录后,系统会立即要求您修改您的详细信息并更改您的密码。

Docker 镜像更新

有新版本时使用如下代码可更新至最新稳定版,不影响之前的代理设置。

重要提示:
更新前请备份整个实例!与任何新版本一样,可能会有重大更改。

  1. 关闭你的 docker 实例
  2. 压缩或复制您的 dataletsencrypt 文件夹
  3. 拉取最新镜像 jc21/nginx-proxy-manager:latest
  4. 启动你的 docker stack 并检查日志中是否存在任何问题
  5. 手动续订 DNS 证书
  6. 检查部分或全部主机的预期行为
  7. 获取最新图像
docker-compose pull

重新部署

docker-compose up -d
或
docker compose up -d

更改网络模式

如果出现不能反向代理的问题,大概率是网络模式引起的,容器默认网络模式是 Bridge,可以变更为 Host 模式来解决。

将 docker-compose.yml 文件替换为下面的内容:

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    network_mode: host
    container_name: nginx-proxy-manager
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

重新部署

docker-compose up -d
或
docker compose up -d

中文化部署

Nginx-Proxy-Manager 官方版本不支持中文,但 GitHub 有人已经做了汉化镜像,要想使用中文请将 docker-compose.yml 文件里的 image 镜像 jc21/nginx-proxy-manager:latest 替换为 chishin/nginx-proxy-manager-zh 即可实现中文部署。示例如下:

version: '3.8'
services:
  app:
    image: 'chishin/nginx-proxy-manager-zh'
    network_mode: host
    container_name: nginx-proxy-manager
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
打赏