You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose部署Adminer:如何实现安全连接?

实现Adminer的安全HTTPS连接(基于Nginx Proxy Manager)

一、调整Docker Compose配置

先移除Adminer直接对外暴露的端口,让流量仅通过Nginx Proxy Manager转发,避免未加密的直接访问:

修改后的配置如下:

version: "3"

services:
  nginx:
    image: "jc21/nginx-proxy-manager:latest"
    hostname: websin.space
    container_name: npm
    restart: always
    ports:
      - "80:80"
      - "81:81"
      - "443:443"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

  db:
    image: mysql:latest
    volumes:
      - ./db:/var/lib/mysql
      - ./init:/docker-entrypoint-initdb.d
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: doNotTellPasswordsOnStackOverflow
      MYSQL_DATABASE: so
      MYSQL_USER: so
      MYSQL_PASSWORD: doNotTellPasswordsOnStackOverflow

  adminer:
    image: adminer
    restart: always
    # 移除直接对外的端口映射,仅通过NPM反向代理访问
    environment:
      ADMINER_DEFAULT_SERVER: db
    depends_on:
      - db    

执行命令更新容器:

docker-compose down && docker-compose up -d

二、在Nginx Proxy Manager配置反向代理与SSL

  1. 登录NPM管理后台:访问http://websin.space:81,用初始账号(默认admin@example.com,密码changeme)登录后立即修改密码。
  2. 点击左侧「Proxy Hosts」,再点击「Add Proxy Host」。
  3. 填写基础代理信息:
    • Domain Names:输入子域名(如adminer.websin.space),确保该域名已解析到你的服务器公网IP。
    • Forward Hostname/IP:填写adminer(Docker Compose中Adminer服务的名称,容器间可通过服务名直接通信)。
    • Forward Port:填写8080(Adminer容器的内部服务端口)。
  4. 切换到「SSL」标签页配置加密:
    • 选择「Request a new SSL Certificate」。
    • 勾选「Force SSL」(强制HTTP跳转至HTTPS)和「HTTP/2 Support」。
    • 填写你的邮箱(用于证书过期提醒),勾选「I Agree to the Let's Encrypt Terms of Service」。
  5. 点击「Save」,等待NPM自动申请并部署SSL证书。

三、可选安全优化

  • IP访问限制:在代理主机的「Access List」标签页,创建仅允许指定IP访问的规则,避免无关人员尝试登录Adminer。
  • Adminer额外认证:在Adminer服务的环境变量中添加ADMINER_AUTH="user:password",开启HTTP基础认证,增加一层访问屏障。

完成后,即可通过https://adminer.websin.space安全访问Adminer并连接数据库。

内容的提问来源于stack exchange,提问作者Pavel Janicek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 20:26:02