nginx でドメインを SSL でリダイレクトする

nginx でドメインを SSL でリダイレクトする

新しいドメイン (my-future-domain.com) があり、これを現在のドメイン (my-current-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

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)my-current-domain.com の A レコードと CNAME レコードを削除します。

何か見逃しているものはありますか?

答え1

DNS は適切に見えます。DNS 要求を簡素化するには、www.my-current-domain.com だけでなく、www.my-future-domain.com への CNAME として 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;

2 つのサーバー ブロックを組み合わせることで、コードをクリーンアップできます。

現在の計画を続行する場合、誰かがhttp://現在のドメイン.com、リダイレクトされますhttps://www.my-current-domain.comそして再びリダイレクトされhttps://www.my-future-domain.comこれをすべて初期サーバー ブロックで実行することで、リダイレクトを節約できます。

関連情報