見出し画像

毎回許可を求められるのを回避したい

はじめに

GoでWebサーバーを立ち上げると毎回このような画面が出てしまいます。

スクリーンショット 2021-09-06 18.22.20

「アプリケーション"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でも使うことができます。


活用して開発効率を上げていきましょう!

この記事が気に入ったらサポートをしてみませんか?