Google Compute resize 給出:HTTP/1.0 301 Moved Permanently
我最近在 Google 的 Compute Engine 上安裝了一個 Wordpress 實例,帶有 Google 自己的一鍵式安裝按鈕。
它不允許您配置伺服器或作業系統,所以我只使用了 Google 提供的東西(Debian 8 on a 1 vCPU + 3.75 GB memory (n1-standard-1) + 10-GB Boot Disk。它工作得很好,我起來了並在 IP 地址上執行:yy.yy.yy.yy 很快。
5 天后,Google Compute 向我發送了一條警報,提示我可以通過將伺服器大小調整為 1.7 GB 記憶體來節省一些錢(在我的免費帳戶上)。
很高興遵守,我點擊確定並破壞了我的網站。Google 給了我一個新的 IP 地址:xx.xx.xx.xx。將我的瀏覽器指向 xx.xx.xx.xx 給了我:
無法訪問此站點
xx.xx.xx.xx 拒絕連接。
我嘗試了https://xx.xx.xx.xx 和http://xx.xx.xx.xx 並得到了相同的消息
在伺服器上執行 Lynx 會給我以下日誌:
Looking up 'xx.xx.xx.xx' first Looking up xx.xx.xx.xx first Looking up xx.xx.xx.xx Making HTTP connection to xx.xx.xx.xx Sending HTTP request. HTTP request sent; waiting for response. HTTP/1.0 301 Moved Permanently Data transfer complete HTTP/1.0 301 Moved Permanently Using http://yy.yy.yy.yy/ Looking up yy.yy.yy.yy Making HTTP connection to yy.yy.yy.yy Alert!: Unable to connect to remote host. lynx: Can't access startfile http://xx.xx.xx.xx/
其中 yy.yy.yy.yy 是原始 IP 地址(調整大小之前)。
似乎調整大小給了我一個新的 IP 地址。然而,這現在重定向到我的舊 IP 地址(不再存在)。
我已將 WP 數據庫中 wp_options 表中的 siteurl 更新為 xx.xx.xx.xx(替換舊 IP 地址)。Restarted apache2 該頁面仍然重定向到 yy.yy.yy.yy(“無法訪問此站點”)。
我不太習慣閱讀 Apache2 配置文件,但據我所知 .htaccess 沒有任何重定向。我在 apache2.config 中看不到任何東西(以及相關文件 - 但我可能會遺漏一些東西)
我的 Google Compute 控制台沒有設置任何異常的防火牆規則或路由。我想知道在哪裡可以找到此重定向。它是在我的 Apache2 伺服器中還是Google在我的 VM 上方的層中執行的東西(我的Google計算如何工作的概念模型尚未完全形成)。我怎麼知道?
建議和建議非常受歡迎,非常感謝。我對伺服器端的東西了解不多,但我很想學習。
WordPress 在原始部署期間註冊您的外部 IP 地址,並且只接受解析到該 IP 地址的請求,而不管真實的伺服器 IP 地址如何。
話雖如此,您需要連接到您的 WordPress 實例並使用新的外部 IP 地址更新數據庫。如果您可以訪問您的管理頁面,您可以更新“Wordpress 地址 (URL)”和“站點地址 (URL)”欄位。否則,您將不得不直接更新數據庫。這篇文章可以引導您完成此更改。GCP 上的靜態 IP 地址只要在使用中就不會產生額外費用。
正如@kasperd 提到的,您應該將目前的臨時 IP 地址提升為靜態,以避免將來出現此問題。