2016-07-15 14 views
2

私はappengine SDKを使用してローカルにGoogle App Engine用の小さなgoアプリケーションを使いこなしています。GAE goはlocalhost上のパスのみを処理します

私はローカルホストではなくドメイン名を使用して、それをヒットしようとした場合のルートとは異なるパスにのみ提供することができるという問題があります。

設定は次のとおりです。

  • home.mydomain.com私のラップトップは、Windows 10
  • 私を実行しているポート8080上の私のラップトップにポート80上のTCPおよびUDPを着信私の自宅のIPアドレスへのポイント
  • マイホームルータの転送
  • バージョンを行くgo1.6ウィンドウ/ AMD64

マイapp.yamlを次のとおりです。

application: tasks 
version: 1 
runtime: go 
api_version: go1 

handlers: 
- url: /.* 
    script: _go_app 

最小のコード例:8080 /私は私のウェブサイトを取得し、私はローカルホストにアクセスする場合:8080/loggedoutを私は期待されるパニックを取得

func init() { 
    fileHandler := http.FileServer(http.Dir("../frontend")) 

    http.HandleFunc("/loggedout", testHandler) 
    http.Handle("/", fileHandler) 

    log.Print(http.ListenAndServe(":8080", nil)) 
} 

func testHandler(res http.ResponseWriter, req *http.Request){  
    panic("JUST NEED THIS TO WORK") 
} 

私の症状私はlocalhostをアクセスした場合ということです。
私がhome.mydomain.com/にアクセスすると私は自分のウェブサイトにアクセスしますが、home.mydomain.com/loggedoutにアクセスすると接続がハングアップするだけです。クロムネットワークのタブでは無期限に保留中と表示されます。

+2

App Engine SDKを使用していますか? (goappまたはdev_appserver?)もしそうなら、あなたのコードはListenAndServeを呼び出すべきではありません。そして、そうでなければ、これはアプリエンジンの質問ではありません... – Greg

+0

ありがとうalot Gregあなたが正しいところで、私はListenAndServeをする必要はありませんでした。しかし、私がhome.mydomain.com/を介してアクセスしたときに何も働かなかったのですが、それは私がそれを聞いていなかったからです。だから私のコマンドに--host 10.0.0.2を追加しました。 – morras

答えて

0

グレッグが指摘したように、私はgoappを使用していたとき、私はまたListenAndServeを呼び出す必要はありませんでした。 goappにlocalhost以外の要求をリッスンするには、--host "私のラップトップのIP"をコマンドに追加する必要があります。

関連する問題