跳转到内容

域名、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/Caddyfile
systemctl 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,证书域名正确,页面不应出现循环跳转或混合内容。