SSL을 사용하여 nginx 리디렉션 도메인

SSL을 사용하여 nginx 리디렉션 도메인

현재 도메인(my-current-domain.com)을 대체하는 데 사용하려는 새 도메인(my-future-domain.com)이 있습니다. Ubuntu에서 DigitalOcean Nginx 서버를 사용하고 있으며 현재 도메인을 새 도메인으로 교체하려면 다음 단계를 수행해야 한다고 생각하지만 이전에 도메인 마이그레이션을 처리한 적이 없으므로 단계에 대한 피드백을 받고 싶습니다. 나는 걸릴 계획이다.

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을 사용하여 my-future-domain.com 및 www.my-future-domain.com에 대한 SSL을 생성합니다. sudo certbot --nginx -d my-future-domain.com -d www.my-future-domain.com

삼)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)my-current-domain.com에 대한 A 및 CNAME 레코드 제거

내가 놓친 것이 있나요?

답변1

DNS가 올바른 것 같습니다. DNS 요청을 단순화하기 위해 my-current-domain.com을 www.my-current-domain.com뿐만 아니라 www.my-future-domain.com에 대한 CNAME으로 설정할 수도 있습니다. 이전 도메인이 만료될 때까지 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. 초기 서버 블록에서 이 모든 작업을 수행함으로써 리디렉션을 줄일 수 있습니다.

관련 정보