Ich bin mit einer kleinen App für Google App Engine lokal mit der Appengine SDK rumspielen.GAE go dient nur Pfade auf localhost nicht Domäne
Ich habe ein Problem, wo ein anderer Pfad als root nur bedient werden kann, wenn ich versuche, es mit localhost, aber nicht einen Domain-Namen zu treffen.
Mein Setup ist wie folgt.
- home.mydomain.com Punkte zu mir nach Hause IP-Adresse
- Meiner vorwärts Home-Router eingehenden TCP- und UDP-Port 80 auf meinen Laptop auf Port 8080
- Mein Laptop Windows-10 läuft
- My gehen Version go1.6 Fenster/amd64
Mein app.yaml:
application: tasks
version: 1
runtime: go
api_version: go1
handlers:
- url: /.*
script: _go_app
Mindestbeispielcode:
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")
}
ist meine Symptome, wenn ich localhost zugreifen: 8080/ich meine Website zu bekommen, und wenn ich localhost Zugriff: 8080/loggedout ich die erwartete Panik bekommen.
Wenn ich auf home.mydomain.com/ zugreife, erhalte ich meine Website, aber wenn ich auf home.mydomain.com/loggedout zugreife, bleibt die Verbindung hängen, in der Chromas-Netzwerk-Registerkarte wird sie auf unbestimmte Zeit als ausstehend aufgeführt.
Verwenden Sie das App Engine SDK? (goapp oder dev_appserver?) Ihr Code sollte nicht ListenAndServe aufrufen, wenn dies der Fall ist. Und wenn nicht, dann ist das keine App-Engine-Frage ... – Greg
Vielen Dank Greg du warst richtig, ich brauchte nicht ListenAndServe. Jedoch, sobald ich entfernt habe, dass nichts funktionierte, als ich über home.mydomain.com zuging, aber das war, weil ich nicht darauf hörte, so fügte ich --host 10.0.0.2 meinem Befehl hinzu und es funktionierte – morras