Golangについて勉強していると、プログラムが立てたローカルサーバに127.0.0.1:ポート番号(もしくはlocalhost)からアクセスして…というようなものをよく見かける。
 セキュリティ的にはどういう存在なのかなど気になったので、調べた上での解釈をメモします。
 間違っているようでしたらコメントで指摘いただければと思います。

広告

ローカルサーバとは

 その名の通り、ローカルなサーバ。ローカルPC環境内で立てられる。
 外部からのアクセスは、そのローカルPCに直接グローバルIPが割り振られているか、ルータを介してグローバルIPからのアクセスが割り振るなどの手段を用いて、グローバルIPからローカルサーバへのアクセスがされるように設定されていなければ成立しない(と解釈した)。

ローカルサーバの公開方法

 ルータを介さずアクセスできるようにしておくのは個人ではあまりにも危険なので、通常は

  • ルータでグローバルIPへのアクセスをそのサーバへ割り振る
  • VPSを仲介して取得して設定しているドメインからローカルサーバへのアクセスを受け取る(?)(このあたりはややこしく、また調べている内容がローカルサーバについてだけだったのであまり読み込んでいません)

 という感じ。2番目はルータをいじれない場合だったりする様子?

すなわち、

 そもそものネットワーク環境が特異でない限りは立てたPCあるいはそのローカルネットワーク内からしかアクセスできない。

なぜローカルサーバを動かすのか

 理由としてはプレビューや、サーバを立ててその中でプログラムを動かすことによるGUI構築を行うためなど。
 たとえばVisualStudioCodeなどではライブリロードを行って書いたサイトのプレビューなどを行う拡張機能がある。
 要するに、動かせると便利。

その他コメントなど

 ローカルサーバはいろいろ便利そうです。もしかしたら今まで使っているツールの中にも、プログラム内でローカルサーバを動かしているものがあるのかもです。

広告

関連コンテンツと広告

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA