2016-01-03 8 views
6

Ich habe gerade mit dem Testen der Google Compute Engine begonnen. Jetzt versuche ich, meine Go (Golang) -Anwendung darauf zu installieren, damit sie von außen erreicht werden kann. Ich verwende Compute Engine zugunsten der App-Engine, da meine Anwendung eine MongoDB-Datenbank benötigt.Bereitstellen von Go-Webserver für die Google-Compute-Engine

tat ich folgendes:

  1. Einrichtung von Firewall-Compute Engine-Instanz erstellen, so 1234, dass der Port offen ist und IP statisch
  2. installieren MongoDB
  3. meine Anwendung
  4. Start laden

Die Anwendung startet ju Alles klar. Aber ich kann es von außen nicht erreichen, wenn ich es in meinem Browser mit IP: 1234 öffne. Ich habe auch versucht, es als Root-Benutzer auf Port 80 zu starten, aber das hat auch nicht funktioniert.

Der Server ist wie folgt konfiguriert:

{ 
    "host": "localhost:1234", 
    "dbhost": "localhost", 
    "db": "dbname", 
    "logfile": "log" 
} 

Wenn ich einen Apache-Server es Server-Port 80 bin mit und der Seite angezeigt wird ... O Ubuntu 14.04 ist.

Der Haupt fügt einfach einige Handler auf einen Mux und fügt eine Dateiserver an das öffentliche Verzeichnis:

mux.Handle("/", http.FileServer(http.Dir(public_dir))) 
// [...] 
if err := http.ListenAndServe(cfg.Host, mux); err != nil { 
    panic(err) 
} 

Also, was hier das Problem ist?

Antwort

5

Versuchen Sie, host von localhost zu 0.0.0.0 zu ändern, weil es im Moment nur "Inside" Anfragen zu hören.

+0

Großartig, es hat funktioniert! Dumm ich :) – Kugel

+2

Ich glaube, den Hostnamen vollständig weglassen würde auch funktionieren: '": 1234 "'. –