現在、簡単なgoアプリを作成中で、net/httpモジュールを使用してwebサーバを作ったアプリを動かしたいのですが、VPSに上げた時の挙動で詰まっております。
アプリの仕様としては、
http.ListenAndServe(":8080", nil)
のように8080版でリクエストをlistenし、レスポンスを送るというもので、
htmlはServeHTTP関数の中でテンプレートを生成する形にしてあります。
main関数は次のようになっております。
func main() { var addr = flag.String("addr", ":8080", "アプリケーションのアドレス") flag.Parse() //フラグの解釈 r := newRoom() //ルート http.Handle("/", &templateHandler{filename: "chat.html"}) http.Handle("/room", r) //チャットルーム開始 go r.run() //WEbサーバ開始 log.Println("Webサーバを開始します。 ポート : ", *addr) if err := http.ListenAndServe(*addr, nil); err != nil { log.Fatal("ListenAndServe:", err) } }
自分のローカル環境では、go run したのちにブラウザ上でhttp://IPアドレス:8080を叩くと正常にテンプレートが表示され、アプリが動作しました。
このアプリをVPSに上げてgo run するとhttp://VPSのIPアドレス:8080 を叩くことでページが表示されるという動作を実現したいのですが、
VPSでアプリをgo runして上のURLを叩くとブラウザで
「このサイトにアクセスできません (VPSのIPアドレス)で接続が拒否されました。」とエラーになりうまくアプリが動作しません。
この原因が自分の力ではいまいちわからず、詰まっている状況です。
現状としてはVPSサーバの$HOME/go/src/にアプリを置いてビルド、go runをした後にURLを叩いている状況となります。
何か原因など分かる方いらっしゃいましたら、ご教授いただければ幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/04 04:21