Google-Cloud-Platform

在 Google Compute Engine 上執行 Google App Engine

  • February 13, 2015

我正在嘗試為應用引擎開發設置伺服器。我一生都無法弄清楚如何從外部訪問生成的 Web 伺服器。我正在執行一個 Debian 映像,Python GAE。

我有以下防火牆規則,它應該允許所有 http 流量通過。我已經重新啟動了伺服器,因為它已經設置好了,雖然我不知道它是否需要。

Source Ranges:
   0.0.0.0/0
Allowed Protocols or Ports:
   tcp:1-65535

當我啟動應用程序引擎時,我沒有收到任何錯誤:

admin@dev:~$ sudo google_appengine/dev_appserver.py --port 80 appfiles
WARNING  2014-08-21 18:19:18,080 api_server.py:383] Could not initialize images API; you are likely missing the Python "PIL" module.
INFO     2014-08-21 18:19:18,083 api_server.py:171] Starting API server at: http://localhost:45536
INFO     2014-08-21 18:19:18,086 dispatcher.py:183] Starting module "default" running at: http://localhost
INFO     2014-08-21 18:19:18,086 admin_server.py:117] Starting admin server at: http://localhost:8000

我無法使用外部臨時 IP 訪問伺服器 - 我只是獲得 500 狀態。我可以在內部訪問該網站。

admin@dev:~$ curl http://localhost/register/ > test.htm
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                Dload  Upload   Total   Spent    Left  Speed
100   815  100   815    0     0   2285      0 --:--:-- --:--:-- --:--:--  2295

admin@dev:~$ tail test.htm
   Email: <input type='email' id='email' name='email' /><br />
   Password: <input type='password' id='password' /><br />
   <input id='submit' type="submit" value="Register" />
 </form>
   </section>
   <footer><small>Website Footer</small></footer>
 </body>
</html>

我知道外部 IP 是正確的,因為我用它來 SSH。有什麼想法我可能會遺漏嗎?

更新

我安裝了 Apache,我可以在埠 80 上毫無問題地進入預設頁面。那麼為什麼 GAE 不能處理外部請求?

預設情況下,它只監聽請求localhost。您需要設置--host參數:

sudo google_appengine/dev_appserver.py --port 80 --host 0.0.0.0 appfiles

引用自:https://serverfault.com/questions/623137