nginx 使用 ssl 重新導向域名

nginx 使用 ssl 重新導向域名

我有一個新網域 (my-future-domain.com),我試著用它來取代我目前的網域 (my-current-domain.com)。我在 Ubuntu 上使用 DigitalOcean Nginx 伺服器,並相信我應該採取以下步驟,以便用我的新網域替換當前網域,但我之前從未處理過網域遷移,這就是為什麼我希望獲得有關這些步驟的回饋我打算帶。

1)將A記錄指向與目前伺服器關聯的IP,並將CNAME指向A記錄

A= my-future-domain.com 定向到 100.200.1.90

別名記錄= 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 請求,您可以將 my-current-domain.com 也設定為 www.my-future-domain.com 的 CNAME,而不僅僅是 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。您可以透過在初始伺服器區塊中執行這一切來節省重定向。

相關內容