Google-Cloud-Platform
在 Google Compute Engine 上執行 Google App Engine
我正在嘗試為應用引擎開發設置伺服器。我一生都無法弄清楚如何從外部訪問生成的 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