У меня есть новый домен (my-future-domain.com), который я пытаюсь использовать для замены моего текущего домена (my-current-domain.com). Я использую сервер DigitalOcean Nginx на Ubuntu и считаю, что мне следует предпринять следующие шаги для замены текущего домена на мой новый домен, но я никогда раньше не имел дела с миграцией доменов, поэтому я хотел бы получить обратную связь о шагах, которые я планирую предпринять.
1)Укажите запись A на IP-адрес, связанный с текущим сервером, а CNAME — на запись A.
А= my-future-domain.com перенаправляет на 100.200.1.90
CNAME= www.my-future-domain.com — это псевдоним my-future-domain.com
2)используйте certbot для генерации SSL для my-future-domain.com и www.my-future-domain.com
sudo certbot --nginx -d my-future-domain.com -d www.my-future-domain.com
3)Выберите 2: Redirect - Make all requests redirect to secure HTTPS access.
в приглашении certbot
4)Добавить новый server_name
блок для нового доменного имени и имитировать текущий блок сервера
Текущий блок:
#This server block will redirect http:// to https://www.my-current-domain.com
server {
listen 80;
listen [::]:80;
server_name my-current-domain.com www.my-current-domain.com;
return 301 https://www.my-current-domain.com$request_uri;
}
#This server block will redirect https://my-current-domain.com to https://www.my-current-domain.com (expecting that you have a certificate for my-current-domain.com as well as www.my-current-domain.com
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
include snippets/ssl-www.my-current-domain.com.conf;
include snippets/ssl-params.conf;
server_name my-current-domain.com;
return 301 https://www.$server_name$request_uri;
}
Новый блок сайта:
#This server block will redirect http:// to https://www.my-future-domain.com
server {
listen 80;
listen [::]:80;
server_name my-future-domain.com www.my-future-domain.com;
return 301 https://www.my-future-domain.com$request_uri;
}
#This server block will redirect https://my-future-domain.com to https://www.my-future-domain.com (expecting that you have a certificate for my-future-domain.com as well as www.my-future-domain.com
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
include snippets/ssl-www.my-future-domain.com.conf;
include snippets/ssl-params.conf;
server_name my-future-domain.com;
return 301 https://www.$server_name$request_uri;
}
5)Перенаправить трафик с my-current-domain.com и www.my-current-domain.com на www.my-future-domain.com. Обновлять ли «Текущий блок» из шага 4?
6)Удалить запись A и CNAME для my-current-domain.com
Может быть, я что-то упускаю?
решение1
DNS выглядит правильно. Чтобы упростить запросы DNS, вы можете также настроить my-current-domain.com как CNAME для www.my-future-domain.com, а не только www.my-current-domain.com. Вам не нужно будет удалять DNS, пока не истечет срок действия старого домена; его можно оставить на месте. (Также будет полезно для всего, что все еще ссылается на старый домен, если он останется на месте. С остальным справятся перенаправления.)
Я бы настроил ваши серверные блоки следующим образом.
server {
listen 80;
listen [::]:80;
server_name my-future-domain.com www.my-future-domain.com my-current-domain.com www.my-current-domain.com;
return 301 https://www.my-future-domain.com$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.my-future-domain.com;
…
Вы можете очистить код, объединив два серверных блока.
Если вы будете следовать своему текущему плану, если кто-то попроситhttp://my-current-domain.com, они будут перенаправлены наhttps://www.my-current-domain.comа затем снова перенаправили наhttps://www.my-future-domain.com. Вы можете сэкономить на перенаправлении, выполнив все это в начальном блоке сервера.