如何將我的自訂網域指向Google雲端實例

如何將我的自訂網域指向Google雲端實例

所以,我得到了一個域名,suputamadre.es

我啟動了一個谷歌雲端實例並為其分配了一個IP,例如1.2.3.4

我啟動了 django 伺服器來監聽 0.0.0.0:80

我嘗試透過 chrome 進行連接http://1.2.3.4或者http://1.2.3.4:80它有效。偉大的。

在 Google Cloud DNS 上設定我的網域名稱(從 GoDaddy 購買的域名,因此將網域名稱伺服器指向 Google Cloud)

設定一筆A記錄suputamadre.es指向1.2.3.4

到 cmd 並執行 ping suputamadre.es 回傳 1.2.3.4

進入瀏覽器並寫入suputamadre.es會傳回連線拒絕錯誤,但是suputamadre.es:80可以運作。這是為什麼?我怎麼才能將該網域指向我的伺服器?試過CNAME,也沒用...

在討論主題時,有沒有辦法將其指向 :80 和 :443 以支援 SSL,而無需運行兩個並發伺服器?或甚至將網域指向 1.2.3.4:8000,而無需使用重定向(因為 SRV 在瀏覽器中不起作用)?

非常感謝。我已經被困在這個問題上兩天了,無論我嘗試用谷歌搜尋什麼似乎都不適合我。更不用說如果我在谷歌上搜尋有關“DNS A 寄存器”的內容,谷歌會認為我正在談論A登記...

答案1

看來你的問題已經部分解決了。如果我把http://suputamadre.es在我的瀏覽器中,我可以看到您的“Django 設定完成”頁面,所以這似乎有效。

關於 :80 與 :443 SSL 問題,這通常是透過連接埠 80 上的重定向來完成的。http://suputamadre.es它由您的網頁伺服器在連接埠 80 上接收,然後網頁伺服器傳回重定向到 https://suputamadre.es(預設在連接埠 443 上提供服務,瀏覽器將使用該端口,而無需指定它)。這樣所有流量都透過 http 提供s在連接埠 443 上。

答案2

正如 DrewZa 所指出的,您可以使用 nginx 來實現這些目的。這是一個不錯的輕量級網頁伺服器。看這裡:

在 Google 雲端平台上安裝 NGINX Plus

至於連接埠從80轉送到443:

在 nginx.conf 檔案中建立一個伺服器條目,您可以執行以下操作:

server {
    listen       80;
    server_name  suputamadre.es;

    proxy_set_header X-Real-IP $remote_addr;

    location / {
        rewrite ^ https://$host$uri permanent;
    }
 }

這會將所有請求從 80 重定向到 443

相關內容