技術メモ |

localhost:4321 のようなものに任意のホスト名でアクセスできるようにする

By: 「Lately(レイトリー)」編集部

技術・開発, ドメイン

Astro で開発する際の開発サーバーの URL が localhost:4321 の様になってしまうのが、なんか不便だな、と思い、別名をつけられるか調べてみたら、Caddy というウェブサーバーを使えば簡単に実現できそうだったので試してみました。

用意するもの

  • /etc/hosts
  • Caddy と Caddyfile

今回の前提

  • localhost:4321latelyonline.localhost でアクセスできるようにする

.localhost を採用した理由

最初は .local を使用しようとしていましたが、あまり良くないことがわかりました。

選択肢としては、

  • .example
  • .localhost
  • .test
  • .internal

などがあるようでしたが、自分のマシン上のみで動作させる開発サーバーなので .localhost が最適と感じ、採用しました。

手順

hosts を書き換える

# 指定するホスト名 (latelyonline.localhost) で 127.0.0.1 にアクセスできるようにする
127.0.0.1 latelyonline.localhost

Caddy を準備する

Caddy とは

Caddy は Go 言語で書かれた Web サーバーです。

軽く調査した限り、やりたいことがかなりシンプルに実現出来そうだったので採用しました。

Caddy をインストール
brew install caddy
Caddy の設定ファイル Caddyfile を用意する
# latelyonline.localhost の ポート 80 にきたアクセスを localhost:4321 にリバースプロキシする
latelyonline.localhost:80 {
reverse_proxy localhost:4321
}

astro の場合は astro.config.mjs の修正も必要

server {
allowedHosts: [
'latelyonline.localhost',
],
// allowedHosts: true として、すべての Host を許可する事もできる
}

Caddy を立ち上げる

sudo caddy start --config ./Caddyfile

Astro を立ち上げる

astro dev

これで latelyonline.localhostlocalhost:4321 と同じものが見えるようになるはずです。

Caddy の止め方

sudo caddy stop --config ./Caddyfile

ちなみに Caddy を立ち上げた際に start を使ってバックグラウンドで立ち上げたので、止めるときは stop をする必要があります。

まとめ

ふと思いついた事でしたが、Caddy の使い勝手が良く、非常に簡単に実現できました。

この方法を使い続けるかは不明ですが、簡単にできると知れてよかったです。

参考にしたサイト

最新の情報をいち早くお届け!

この記事がいいと思ったらぜひフォローしてください。あなたの小さな支援が励みになります。

フォローする

最新の情報をいち早くお届け!

この記事がいいと思ったらぜひフォローしてください。あなたの小さな支援が励みになります。

フォローする


「技術メモ」記事一覧

おすすめ

新着記事