Mailcow📨更换域名操作指南(反向代理架构专用)

本指南适用于以下部署架构: 🧠 适用场景 你当前使用的是: ✅ 一、概览:更换域名时涉及的内容 项目 是否必须修改 说明 Mailcow 配置文件 ✅ 内部逻辑引用主机名,需更新 DNS 记录 ✅ 通知全球邮件系统指向新服务器 反向代理配置 ✅ 更换域名入口访问路径 邮箱地址使用的域名 ❌(可选) 可继续使用旧域名或添加新域名 Mailcow 的数据卷 ❌ 保留原样,邮件和设置不受影响 Docker 容器结构 ❌ 无需更改 🔧 二、操作步骤 1. 修改 Mailcow 配置文件 打开 Mailcow 安装目录下的配置文件(如 /opt/mailcow/mailcow.conf),找到并修改以下行: iniCopyEditMAILCOW_HOSTNAME=mail.old-domain.com 改为: iniCopyEditMAILCOW_HOSTNAME=mail.new-domain.com ⚠️ 该设置影响系统识别主机、SOGo 链接生成、邮件头部显示等,必须修改。 2. 修改反向代理(Nginx 等) …

Mailcow📨多域名邮件系统部署与原理详解

许多站长或技术爱好者部署 Mailcow 邮件服务器后,往往会有这样的需求: 我是否可以在一台服务器上同时托管多个邮箱域名,比如 user@domain.com 和 admin@abc.com? 答案是肯定的。Mailcow 完全支持“一套服务,多域名共用”的架构。本文将从 原理、配置方法、DNS 设置 等角度详细介绍。 ✉️ 一、理解邮箱域名与服务器域名的区别 在 Web 系统中,一个域名通常绑定一个网站。但在邮件系统中,邮箱的域名(@后面的部分)和服务器实际绑定的域名可以是不同的。 比如: 这两者之间的关联,完全靠 DNS 中的 MX 记录 来建立。 🧠 二、工作原理解析:邮件是如何投递的? 当其他服务器向 user@abc.com 发送邮件时,流程如下: ✅ 由此可见,邮件通信靠的是 DNS 中的 MX 路由,而不是服务器的主机名或 HTTPS 域名! 🛠️ 三、Mailcow 多域名部署方法 步骤 1:添加多个域名到 Mailcow 登录 Mailcow 管理后台: 步骤 2:为每个域名添加邮箱账户 即可创建如 admin@abc.com、info@xyz.org …

使用 Docker Compose 安装 Portainer CE(图形化容器管理面板)

Portainer 是一个轻量级的图形化 Docker 管理面板,适用于个人服务器管理、容器项目可视化操作、多服务部署维护等场景。本文记录了使用 Docker Compose 安装 Portainer CE 的完整流程,并通过 Nginx + FRP 实现公网安全访问。 🧱 系统结构概览 访问链路为: ✅ 步骤一:在内网主机上部署 Portainer(Host A) 创建目录: 编写 docker-compose.yml 文件: 启动服务: ✅ 步骤二:Nginx 反向代理配置(Host B) 在 Nginx 中添加如下配置(监听代理端口,转发至 Host A): ✅ 步骤三:FRP 穿透配置(VPS + Host B) VPS 上 FRPS 配置(已有可跳过): 确保已开放指定端口,并配置好 frps.ini Host B 上 …

Jitsi Meet🧠安装与部署全指南(Docker + JWT + Rocket.Chat + Nginx + FRP)

🌍 一、系统架构概览 本架构实现了一个内网部署 + 反向代理 + 公网穿透 + 统一认证的视频会议系统,支持与 Rocket.Chat 集成: cssCopyEdit[Jitsi 主机] └─ 使用 docker-compose 部署 Jitsi Meet 各服务(web, jvb, prosody, jicofo) [反向代理主机] └─ Nginx 启用 HTTPS 并将请求转发至 Jitsi 内网地址 [公网入口 VPS] └─ FRP 映射 443 → 反代主机,公网访问统一通过域名入口 🧱 二、环境信息(匿名化) 项目 内容 Jitsi 服务主机 局域网服务器 A 反向代理主机 局域网服务器 B …

Rocket.Chat🚀更换域名操作全记录(Docker + MongoDB 7)

这篇文章分享如何在 Docker 部署环境下,将 Rocket.Chat 的旧域名彻底替换为新域名,包括数据库更新、服务重启和客户端验证等全流程,适用于自己搭建的私有聊天系统。 🧱 部署架构概览 🛡 本文中所有域名、容器名均为示例,实际请根据你的环境替换。 🔍 步骤一:查找并确认含旧域名的数据 进入 MongoDB 容器: bashCopyEditdocker exec -it your-mongo-container-name mongosh 切换到 Rocket.Chat 数据库: jsCopyEdituse rocketchat 检查上传记录中是否包含旧域名: jsCopyEditdb.rocketchat_uploads.countDocuments({ url: { $regex: “localhost|旧域名1|旧域名2|…” } }) 🔄 步骤二:批量替换上传记录中的域名前缀 使用 MongoDB 7 的 $function 方式进行安全、批量替换: jsCopyEditdb.rocketchat_uploads.updateMany( { url: { $regex: “localhost|旧域名1|旧域名2|…” } }, [ { …

使用反向代理实现 Apache 服务的域名切换与 HTTPS 加密(含 Certbot 与 FRP 配置)🌐

在构建个人服务时,我们常常需要将 Apache 提供的本地服务通过公网访问,并启用 HTTPS 进行加密通信。本文记录了如何: 🧱 架构概览 本次部署采用了以下结构: arduinoCopyEdit公网用户 ↓ VPS(运行 FRP Server,负责公网端口) ↓ FRP 客户端 → 反向代理服务器(Nginx + Certbot,TLS 终结) ↓ 内网 Apache 主机,仅提供 HTTP 服务(80端口) 🛰️ FRP 配置 FRP 客户端(运行在反代服务器) 配置如下(已脱敏): iniCopyEdit[web_https] type = tcp local_ip = 127.0.0.1 local_port = 443 remote_port = xxxx # 例如 VPS 映射的 …