У меня есть новый домен (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
Что мне может не хватать?
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. Вы можете сэкономить на перенаправлении, выполнив все это в начальном блоке сервера.