乐闻世界logo
搜索文章和话题

如何在 Vercel 上配置自定义域名和 SSL 证书?

2月21日 16:28

如何在 Vercel 上配置自定义域名和 SSL 证书?

在 Vercel 上配置自定义域名和 SSL 证书是一个简单直接的过程,Vercel 提供了自动化的 SSL 证书管理,使得这一过程变得非常便捷。

自定义域名配置

1. 添加自定义域名

通过 Vercel Dashboard 添加

  1. 登录 Vercel Dashboard
  2. 选择你的项目
  3. 进入 "Settings" → "Domains"
  4. 点击 "Add Domain"
  5. 输入你的域名(如 example.comwww.example.com
  6. 选择域名类型:
    • Production:用于生产环境
    • Preview:用于预览部署

通过 Vercel CLI 添加

bash
# 添加生产域名 vercel domains add example.com # 添加预览域名 vercel domains add preview.example.com --preview

2. 域名类型

Vercel 支持以下域名类型:

根域名

  • example.com
  • 需要配置 A 记录或 CNAME 别名记录

子域名

  • www.example.com
  • blog.example.com
  • api.example.com
  • 使用 CNAME 记录

通配符域名

  • *.example.com
  • 匹配所有子域名
  • 需要付费计划

3. DNS 配置

配置步骤

  1. 在 Vercel Dashboard 中查看 DNS 配置要求
  2. 登录你的域名注册商(如 GoDaddy、Namecheap、Cloudflare)
  3. 根据类型添加相应的 DNS 记录

A 记录配置(用于根域名):

shell
Type: A Name: @ Value: 76.76.21.21 TTL: 3600 (或默认值)

CNAME 记录配置(用于子域名):

shell
Type: CNAME Name: www Value: cname.vercel-dns.com TTL: 3600 (或默认值)

使用 Cloudflare 时的特殊配置

如果你使用 Cloudflare 作为 DNS 提供商,需要注意:

  1. 代理模式

    • 启用 Cloudflare 代理(橙色云朵)时,Vercel 可能无法正确验证域名所有权
    • 建议先禁用代理(灰色云朵),等待验证通过后再启用
  2. SSL 模式

    • 设置为 "Full" 或 "Full (strict)"
    • 不要使用 "Flexible" 模式

4. 域名验证

验证过程

  1. 添加 DNS 记录后,Vercel 会自动验证域名配置
  2. 验证通常需要几分钟到几小时(取决于 DNS 传播)
  3. 验证成功后,域名状态会显示为 "Valid Configuration"

验证检查

bash
# 检查 DNS 记录是否生效 dig example.com # 检查 CNAME 记录 dig www.example.com CNAME # 检查 DNS 传播 nslookup example.com

SSL 证书配置

1. 自动 SSL 证书

Vercel 使用 Let's Encrypt 自动为你的域名提供 SSL 证书:

特点

  • 完全免费
  • 自动续期
  • 支持 HTTP/2 和 HTTP/3
  • 自动配置

证书类型

  • 单域名证书:保护单个域名
  • 通配符证书:保护主域名及其所有子域名(需要付费计划)

2. SSL 证书自动管理

自动颁发

  • 域名验证通过后,Vercel 自动颁发 SSL 证书
  • 通常在几分钟内完成
  • 无需手动操作

自动续期

  • 证书到期前 30 天自动续期
  • 无需担心证书过期
  • 完全自动化

证书监控

  • Vercel 持续监控证书状态
  • 发现问题时自动修复
  • 在 Dashboard 中可以查看证书详情

3. 强制 HTTPS

自动重定向

Vercel 默认将所有 HTTP 请求重定向到 HTTPS:

javascript
// 在 vercel.json 中配置 { "redirects": [ { "source": "/:path*", "has": [ { "type": "host", "value": "example.com" } ], "destination": "https://example.com/:path*", "permanent": true } ] }

HSTS 配置

javascript
{ "headers": [ { "source": "/(.*)", "headers": [ { "key": "Strict-Transport-Security", "value": "max-age=31536000; includeSubDomains" } ] } ] }

高级配置

1. 多域名配置

添加多个域名

  1. 在 Domains 设置中逐个添加域名
  2. 为每个域名配置 DNS 记录
  3. 等待所有域名验证通过

主域名设置

javascript
// 在 vercel.json 中设置主域名 { "name": "my-project", "alias": ["example.com", "www.example.com"] }

2. 环境特定域名

预览环境域名

bash
# 为预览部署添加特定域名 vercel domains add preview.example.com --preview

开发环境域名

bash
# 为开发环境添加域名 vercel domains add dev.example.com --dev

3. 自定义 404 页面

配置自定义 404 页面

javascript
// 在 vercel.json 中配置 { "rewrites": [ { "source": "/404", "destination": "/custom-404.html" } ], "notFound": true }

故障排除

1. 域名验证失败

常见原因

  • DNS 记录配置错误
  • DNS 传播未完成
  • 域名已被其他服务使用
  • Cloudflare 代理模式问题

解决方案

  1. 检查 DNS 记录是否正确
  2. 使用 DNS 检查工具验证记录
  3. 等待 DNS 传播完成(最多 48 小时)
  4. 如果使用 Cloudflare,暂时禁用代理
bash
# 检查 DNS 记录 dig example.com +short # 检查 WHOIS 信息 whois example.com # 检查 DNS 传播 dig example.com @8.8.8.8

2. SSL 证书颁发失败

常见原因

  • 域名验证未通过
  • DNS 记录配置错误
  • 防火墙阻止 Let's Encrypt 验证
  • 域名已被其他证书使用

解决方案

  1. 确保域名验证通过
  2. 检查 DNS 记录配置
  3. 检查防火墙设置
  4. 在 Dashboard 中手动触发证书重新颁发

3. HTTPS 重定向不工作

检查清单

  1. 确认 SSL 证书已颁发
  2. 检查 Vercel 配置中的重定向设置
  3. 清除浏览器缓存
  4. 使用隐私模式测试

最佳实践

1. 域名管理

  • 使用版本控制管理域名配置
  • 定期检查域名到期时间
  • 为重要域名设置自动续费
  • 保留域名访问权限的备份

2. SSL 安全

  • 启用 HSTS 以强制 HTTPS
  • 定期检查 SSL 证书状态
  • 使用强密码保护域名账户
  • 启用双因素认证

3. 监控和告警

  • 设置域名到期提醒
  • 监控 SSL 证书状态
  • 配置网站可用性监控
  • 设置错误告警

4. 性能优化

  • 使用 CDN 加速静态资源
  • 启用 HTTP/2 和 HTTP/3
  • 优化 DNS 解析时间
  • 使用现代 TLS 版本

常见问题解答

Q1: 可以使用免费域名吗?

A: 可以,Vercel 支持任何合法的域名,包括免费域名。但建议使用付费域名以获得更好的稳定性和支持。

Q2: SSL 证书有数量限制吗?

A: 免费计划中,每个项目可以添加无限数量的域名,每个域名都会自动获得 SSL 证书。

Q3: 如何迁移现有域名到 Vercel?

A:

  1. 在 Vercel 中添加域名
  2. 更新 DNS 记录指向 Vercel
  3. 等待 DNS 传播
  4. 验证配置正确

Q4: 可以使用自己的 SSL 证书吗?

A: Vercel 不支持上传自定义 SSL 证书,必须使用 Vercel 自动颁发的 Let's Encrypt 证书。

Q5: 域名配置需要多长时间生效?

A: 通常需要几分钟到几小时,最长可能需要 48 小时(DNS 传播时间)。

总结

在 Vercel 上配置自定义域名和 SSL 证书的主要优势:

  1. 自动化:SSL 证书自动颁发和续期
  2. 简单:直观的配置界面
  3. 免费:Let's Encrypt SSL 证书完全免费
  4. 安全:自动 HTTPS 重定向
  5. 可靠:99.99% 的正常运行时间保证

通过遵循上述步骤和最佳实践,你可以轻松地在 Vercel 上配置自定义域名和 SSL 证书,为你的网站提供安全、专业的访问体验。

标签:Vercel