域名、HTTPS 与反向代理
开始前
先确认矩阵盘在服务器本机可访问:
curl -fsS http://127.0.0.1:8080/healthz再确认域名已经解析到这台服务器,云安全组和系统防火墙允许 80/443。不要开放 MySQL、Redis 或 Elasticsearch 端口来解决网页访问问题。
Caddy 示例
Caddy 可以自动申请和续期 HTTPS 证书:
search.example.com { encode zstd gzip reverse_proxy 127.0.0.1:8080}保存后先验证配置,再重载:
caddy validate --config /etc/caddy/Caddyfilesystemctl reload caddy使用 reload 可以避免无必要的完整服务重启。实际 Caddy 路径和运行方式以你的安装环境为准。
Nginx 示例
server { listen 80; server_name search.example.com;
location / { proxy_pass http://127.0.0.1:8080; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }}先用 nginx -t 检查配置,再按你的系统重载 Nginx。HTTPS 证书可以由宝塔、Certbot 或其他受信方式配置;不要把证书私钥放进项目仓库。
宝塔面板
在目标站点的“反向代理”中,把目标 URL 设置为 http://127.0.0.1:8080,发送域名保持为请求域名,并为正式域名开启 HTTPS。
配置完成后检查宝塔是否:
- 保留原始 Host;
- 传递
X-Forwarded-Proto和客户端 IP; - 没有缓存管理后台和登录响应;
- 没有与另一个站点重复绑定域名;
- 没有把
8080、数据库或搜索端口一并暴露公网。
后台同步设置
反向代理完成后,在“站点配置”中把站点地址改为最终 HTTPS 地址,例如 https://search.example.com。同时核对:
- CORS/允许来源;
- 邮件链接域名;
- 支付或第三方回调地址;
- sitemap、canonical 与 IndexNow;
- 可信代理网段。
不要把任意公网网段设为可信代理。设置错误会导致访问统计、IP 限制和审计日志记录错误地址。
验收
curl -I https://search.example.com/curl -fsS https://search.example.com/healthz浏览器继续检查首页、搜索、登录、后台和真实 404。HTTP 应跳转到 HTTPS,证书域名正确,页面不应出现循环跳转或混合内容。