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

如何在Digital Ocean App Platform将www.domain.bio重定向至domain.bio?

解决www.domain.bio到domain.bio的重定向及会话互通问题

1. 清理App Platform的冗余域名配置

  • 登录DigitalOcean控制台,进入你的Next.js应用的App Platform面板
  • 进入「Domains」页面,删除*.domain.bio泛域名配置,只保留主域名domain.bio。泛域名会让www被识别为独立站点,直接导致会话Cookie无法互通,这是核心问题。

2. 配置DigitalOcean域名解析记录

  • 进入DigitalOcean的「Domains」管理区,找到你的domain.bio域名
  • 添加或修改www记录:
    • 记录类型选择CNAME
    • 主机名填www
    • 目标值填写你的App Platform应用分配的默认域名(格式类似your-app-name.ondigitalocean.app)
    • TTL保持默认的300秒即可

3. 在App Platform中设置www域名的重定向

  • 回到App Platform的「Domains」页面,点击「Add Domain」,输入www.domain.bio
  • 完成域名验证后,找到www.domain.bio的配置选项,开启重定向到主域名功能,选择301永久重定向(利于SEO),目标地址填https://domain.bio

4. 修复Cloudflare的421错误

  • 登录Cloudflare控制台,进入你的domain.bio域名管理面板
  • 找到www.domain.bio的DNS记录,确保:
    • 如果使用Cloudflare代理(橙色云朵),请将SSL/TLS模式设置为Full或Full (strict),避免SSL握手异常
    • 若暂时无法解决握手问题,可以先将记录改为「DNS only」(灰色云朵),待App Platform的重定向配置生效后再切换回代理模式
  • 可选:在Cloudflare的「Rules」-「Page Rules」中添加一条重定向规则,作为兜底:
    • 匹配规则:www.domain.bio/*
    • 动作选择「Forward URL」,重定向类型选301,目标URL填https://domain.bio/$1($1用于保留原路径的参数和内容)

5. Next.js应用层面的补全配置(可选)

  • 在next.config.js中添加内置重定向规则,确保应用级别的兜底:
module.exports = {
  async redirects() {
    return [
      {
        source: '/:path*',
        has: [{ type: 'host', value: 'www.domain.bio' }],
        destination: 'https://domain.bio/:path*',
        permanent: true,
      },
    ];
  },
};
  • 调整Cookie的域设置,让主域名和www域名共享会话:在登录逻辑设置Cookie时,将Domain指定为.domain.bio(注意开头的点),示例:
// 以API路由中的设置为例
export default function handler(req, res) {
  // 生成sessionId逻辑
  const sessionId = 'your-session-id';
  res.setHeader('Set-Cookie', [
    `sessionId=${sessionId}; Path=/; Domain=.domain.bio; HttpOnly; Secure; SameSite=Strict`,
  ]);
  res.status(200).json({ success: true });
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 01:03:36