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

DDEV nginx-fpm环境多域名HTTP跳转HTTPS配置问题咨询

DDEV多域名301重定向配置方案

原有配置失效原因

  • .ddev/nginx_full目录存放的是DDEV运行时自动生成的全量Nginx配置,手动放入的独立.conf文件不会被加载,直接修改该目录下的文件会在DDEV重启时被覆盖,还会和默认生成的配置冲突。
  • DDEV的HTTPS请求在入口反向代理层完成TLS终止,转发到后端Nginx服务的请求均为HTTP协议,直接判断80端口返回HTTPS跳转,会触发无限重定向循环。
  • 手动新增的80端口server块会和DDEV默认生成的默认server块抢占匹配优先级,导致域名识别异常。

正确配置流程

  1. 新建Nginx自定义配置目录,DDEV会自动加载该目录下所有.conf后缀的配置文件,且不会被系统覆盖:
mkdir -p .ddev/nginx
  1. 在该目录下新建redirect.conf文件,写入如下重定向规则,通过DDEV传递的X-Forwarded-Proto头判断原始请求协议,避免循环:
# 附属域名统一跳转至主站HTTPS地址
server {
    listen 80;
    server_name .domain1.com .domain2.com .domain3.com;
    return 301 https://www.maindomain.com$request_uri;
}

# 主域名HTTP请求强制跳转HTTPS
server {
    listen 80;
    server_name maindomain.com www.maindomain.com;
    access_log off;
    error_log off;
    if ($http_x_forwarded_proto != "https") {
        return 301 https://$host$request_uri;
    }
}
  1. 现有config.yaml中的additional_fqdns配置无需调整,所有绑定域名已正确加入列表,use_dns_when_possible: false配置也符合本地多域名测试的要求。
  2. 执行重启命令让配置生效:
ddev restart

配置注意事项

主域名跳转规则不要硬编码写入www.前缀拼接逻辑,通过$host变量获取当前访问域名即可,配合前置的附属域名跳转规则,可实现逻辑分层,避免后续新增域名时出现非预期跳转。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:42:19