跳至主要內容

反向代理:Nginx Proxy Manager

约 636 字大约 2 分钟...

反向代理是一种方便的后端工具,其作用是拦截所有传入请求并进行统一的转发管理。在 Docker 容器管理领域,使用反向代理可以让你摆脱繁琐的端口号记忆,只需通过不同的域名即可访问特定的 Docker 服务。常见的反向代理工具包括 Nginx Proxy Manager、nginxWebUI、Caddy 和 Lucky。

Nginx Proxy Manager

Nginx Proxy Manageropen in new window 具备图形用户界面,其 SSL 证书有效期为 3 个月,到期时会自动续期。由于国内家用宽带不支持 80 和 443 端口,因此这里未采用 Nginx Proxy Manager 官方容器,同时由于端口原因也不建议使用 Caddy。如果你对 Nginx Proxy Manager 不熟悉,也可以尝试国内开发的nginxWebUIopen in new window,它同样集成了图形化配置、SSL 证书申请、自动续签 SSL 证书等功能。

version: '3.8'
services:
  app:
    image: 'jlesage/nginx-proxy-manager:latest'
    container_name: nginx-proxy-manager
    restart: unless-stopped
    ports:
      - '9001:8080'
      - '9002:8181'
      - '9003:4443'
    volumes:
      - /volume1/docker/nginx-proxy-manager/config:/config

要访问后台管理界面,请前往 localhost:9002。初始登录账户为 admin@example.com,密码为 changeme。初次登录时,系统会提示你修改默认账户和密码。[1]

反向代理启用后,路由器只需要开放 9003 端口即可实现流量转发,避免了我们在公网上开放不必要的端口。接下来,通过 CNAME 方式将你定制的域名 xxx.gpt-vip.top 解析到你家中的 DDNS 域名 yyy.gpt-vip.top。完成设置后,访问 xxx.gpt-vip.top:9003 即可访问指定服务,并享受自动 SSL 部署的便利。在需要切换到其他服务时,只需更改 xxx 部分的服务名即可。

Caddy

Caddyopen in new window 的配置更加简便,但需要注意的是,Caddy v2 在默认情况下使用 http-01 方式进行 HTTPS 证书申请,这要求你能够通过公网访问域名的 80/443 端口,以进行所有权验证。因此,在国内的情况下,你可能需要手动指定证书。你可以选择通过 Certbot 免费申请证书,或者在阿里云、腾讯云等平台免费申请一年有效的证书。

version: "3.9"

services:
  caddy:
    image: caddy:latest
    container_name: caddy
    restart: unless-stopped
    ports:
      - "9080:80"
      - "9443:443"
      - "9443:443/udp"
    volumes:
      - /volume1/docker/caddy/Caddyfile:/etc/caddy/Caddyfile
      - /volume1/docker/caddy/site:/srv
      - /volume1/docker/caddy/caddy_data:/data
      - /volume1/docker/caddy/caddy_config:/config

volumes:
  caddy_data:
  caddy_config:

  1. NAS 原来这么有用 篇 143:一个端口访问 NAS 所有服务,使用二级域名定义你的每一项服务open in new window ↩︎

已到达文章底部,欢迎留言、表情互动~
  • 赞一个
    0
    赞一个
  • 支持下
    0
    支持下
  • 有点酷
    0
    有点酷
  • 啥玩意
    0
    啥玩意
  • 看不懂
    0
    看不懂
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.8