docker compose安装mindoc 后添加https访问反向代理配置教程

1.先安装mindoc ,数据库使用SQLite

docker-compose .yml

复制代码
version: '3'

services:
  mindoc:
    # 沿用你指定的镜像,确保与原docker run命令一致,避免镜像拉取报错
    image: registry.cn-hangzhou.aliyuncs.com/mindoc-org/mindoc:v2.2-beta.2
    container_name: mindoc
    restart: always # 容器异常时自动重启,与--restart always对应
    ports:
      - "8185:8181" # 宿主机8185端口映射容器8181端口,与原命令端口一致,避免冲突
    environment:
      # 完整保留原docker run命令中的所有环境变量,适配SQLite配置
      MINDOC_RUN_MODE: prod # 运行模式:生产环境,提升服务稳定性和性能
      MINDOC_DB_ADAPTER: sqlite3 # 数据库类型:SQLite,无需额外部署数据库
      MINDOC_DB_DATABASE: ./database/mindoc.db # SQLite数据库文件路径,与挂载目录对应
      MINDOC_CACHE: "true" # 启用缓存,提升服务响应速度
      MINDOC_CACHE_PROVIDER: file # 缓存存储方式:文件存储
      MINDOC_ENABLE_EXPORT: "false" # 禁用导出功能,可根据需求修改为true
      MINDOC_BASE_URL: "" # 基础URL,无需配置时留空
      MINDOC_CDN_IMG_URL: "" # 图片CDN地址,无需配置时留空
      MINDOC_CDN_CSS_URL: "" # CSS文件CDN地址,无需配置时留空
      MINDOC_CDN_JS_URL: "" # JS文件CDN地址,无需配置时留空
    volumes:
      # 完整保留原docker run命令中的所有挂载目录,确保数据持久化和配置生效
      - /home/docker/mindoc/conf:/mindoc/conf # 挂载配置文件目录,支持自定义Mindoc配置
      - /home/docker/mindoc/static:/mindoc/static # 挂载静态资源目录,保障页面正常显示
      - /home/docker/mindoc/views:/mindoc/views # 挂载视图模板目录,支持自定义页面样式
      - /home/docker/mindoc/uploads:/mindoc/uploads # 挂载上传文件目录,实现附件持久化
      - /home/docker/mindoc/runtime:/mindoc/runtime # 挂载运行时目录,存储缓存、日志等临时数据
      - /home/docker/mindoc/database:/mindoc/database # 挂载数据库目录,SQLite文件持久化(核心)

2.添加一个静态网站

3.添加SSL申请 ,使用宝塔能自动继签

4.反向代理配置,修改刚创建网站的配置文件

注意需要修改几个地方:

域名,proxy_pass

复制代码
# server代表的是nginx其中的一个服务器
server
{
    listen 80;
    listen 443 ssl  ;
    listen [::]:443 ssl  ;
    http2 on;
    listen [::]:80;
    server_name doc.npspro.cn;   #填访问要https访问的域名
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/server/panel/vhost/cert/doc.npspro.cn;
    include /www/server/panel/vhost/nginx/well-known/doc.npspro.cn.conf;
    #CERT-APPLY-CHECK--START
    # 用于SSL证书申请时的文件验证相关配置 -- 请勿删除
    include /www/server/panel/vhost/nginx/well-known/doc.npspro.cn.conf;
    #CERT-APPLY-CHECK--END
    
    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    ssl_certificate    /www/server/panel/vhost/cert/doc.npspro.cn/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/doc.npspro.cn/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_tickets on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
 location / {
        try_files /_not_exists_ @backend;
    }
    # 这里为具体的服务代理配置
    location @backend {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host            $http_host;
        proxy_set_header   X-Forwarded-Proto $scheme;

        #此处配置 MinDoc 程序的地址和端口号
        proxy_pass http://43.163.242.147:8185;
    }
    #Monitor-Config-Start 网站监控报表日志发送配置
    access_log syslog:server=unix:/tmp/bt-monitor.sock,nohostname,tag=11__access monitor;
    error_log syslog:server=unix:/tmp/bt-monitor.sock,nohostname,tag=11__error;
    #Monitor-Config-End
}

proxy_pass填写刚安装mindoc的IP实际访问地址

相关推荐
weixin_457507211 小时前
centos安装docker配置自动HTTPS部署多个项目
docker·https·centos
sbjdhjd1 小时前
Docker 安全优化实战手册(企业级硬核版)
linux·运维·docker·云原生·容器·eureka·kubernetes
终端行者1 小时前
Jenkins Pipeline 构建后推送到Nexus制品库 jenkins 如何连接Nexus?企业级实战 --中 Jenkins 连接Nexus 实战
运维·ci/cd·docker·jenkins·nexus
XiYang-DING1 小时前
【Java EE】 HTTPS协议
java·https·java-ee
techdashen1 小时前
Agent 的第三次浪潮:Cloudflare Project Think 是什么,要解决什么问题
jvm·数据库·oracle
七月稻草人1 小时前
DailyTxT 私人日记服务:NAS + Docker 部署,数据完全本地存储
运维·docker·容器
woxihuan12345610 小时前
SQL删除数据时存在依赖关系_设置外键级联删除ON DELETE
jvm·数据库·python
Jetev10 小时前
如何确定SQL字段是否为空_使用IS NULL与IS NOT NULL
jvm·数据库·python
m0_7020365311 小时前
mysql如何处理不走索引的OR查询_使用UNION ALL优化重写
jvm·数据库·python