我有一个现有网站,我想更改其域名。我将继续使用相同的服务器和 IP 地址,我只想更改域名。我正在使用nginx
和Namecheap
。
到目前为止我已经:
- 通过以下方式购买新域名
namecheap
- 为新域名创建了
A Record
for@
和A Record
forwww
- 将我现有的
nginx
配置更新到新域,包括新的 lets encrypt ssl 证书 - 从服务器中删除了旧的 SSL 证书
新域名现在运行正常。旧域名重定向正确,但仅限于非 https。换句话说,以下内容正常运行:
但在使用旧站点的 https 时,它不起作用。我联系了他们namecheap
,他们说无法通过他们的 Web 控制台执行此操作。所以我认为我必须在 nginx 中以某种方式手动执行此操作?
答案1
您需要一个如下所示的服务器块来实现 https 重定向:
server {
listen 443 ssl;
server_name old.domain;
ssl_certificate /path/to/old/certificate;
ssl_certificate_key /path/to/old/key;
return 301 https://new.domain;
}
这意味着您的服务器需要设置为旧域名的 A 记录,并且您还需要类似的server
http 重定向块。