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

Nginx配置HTTP跳转HTTPS不生效,HTTP访问提示站点无法到达

问题根因

你当前配置的核心错误有2个:

  • 80端口的server块server_name *.example.com仅匹配二级子域名(比如www.example.com),无法匹配根域名example.com,访问根域名的HTTP请求无法匹配到该规则。
  • 跳转规则中使用了$server_name变量,该变量会读取你配置的server_name值即*.example.com,导致最终跳转到非法地址https://*.example.com,自然无法访问。

修复步骤

  1. 修改nginx.conf的80端口server块配置如下:
server {
    listen         80;
    # 同时匹配根域名和所有二级子域名
    server_name    example.com *.example.com;
    # 用$host读取用户实际请求的域名,保证跳转目标正确
    return         301 https://$host$request_uri;
}
  1. (可选)如果需要支持根域名的HTTPS访问,确保你的SSL证书同时覆盖example.com和*.example.com,然后修改443端口的server_name配置:
server {
    listen 443 ssl;
    # 同时匹配根域名和www域名
    server_name example.com www.example.com;
    # 其余原有配置保持不变
}
  1. 重启Nginx容器生效配置,执行命令:
    docker compose restart reverseproxy
  2. 清理浏览器缓存后测试,301是永久重定向,旧的错误跳转规则会被浏览器长期缓存,建议用无痕模式测试避免缓存干扰。

内容的提问来源于stack exchange,提问作者Rick A

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:12:02