毎回許可を求められるのを回避したい
はじめに
GoでWebサーバーを立ち上げると毎回このような画面が出てしまいます。
「アプリケーション"main"へのネットワーク受信接続を許可しますか?」
これはmain.goを起動してのメッセージですが言語やファイルが違うとmainの部分が変わって
「アプリケーション〇〇へのネットワーク受信接続を許可しますか?」
となると思います。
ここで毎回許可を押さないとサーバーが立ち上がってくれなかったり通信をしてくれないです。鬱陶しいですね。対策を紹介します。
シチュエーション
ただデフォルトルートでHello Worldを表示させたい
フレームワークであるfiberを使っています。
package main
import "github.com/gofiber/fiber/v2"
func main() {
app := fiber.New()
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World!")
})
app.Listen(":3000")
}
結論
他のフレームワークやフレームワークを使っていない場合でもポートを指定してサーバーを立ち上げる箇所があると思います。今回で言えば以下のコードですね。
app.Listen(":3000")
ここに127.0.0.1 or localhostを付け足してやると毎回許可を求められることなくサーバーを立ち上げることができます。
app.Listen("127.0.0.1:3000")
app.Listen("localhost:3000")
簡単ですね。
それ以外の解決策
そもそもなんのですがDockerを使用したりホットリロードを使うと開発中毎回サーバーを立ち上げることなく開発をするめることができます。
Dockerは説明するまでもないと思うのですがホットリロードは馴染みのない言葉だと思うので説明します。
ホットリロードを使うことによってサーバーを立ち上げたままコードの変更を反映させることができます。
具体的なライブラリとしてはairが良いと思います。https://github.com/cosmtrek/air
使い方も単純でローカルでもdockerでも使うことができます。
活用して開発効率を上げていきましょう!
この記事が気に入ったらサポートをしてみませんか?