nginx перенаправляет домены с помощью ssl

nginx перенаправляет домены с помощью ssl

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

Связанный контент