Charles Chamberlain

.localhost 域名

2025-04-08

computers developer-tools

我找到了一种方法来配置私有的、自定义的域名,用于在我电脑上运行的 Web 应用。这样,我就不必记住并输入 "localhost:4333",而是可以直接导航到 "appname.localhost"。我喜欢这个方式!

以下是这个系统的工作原理:

  1. 每个应用都设置为一个 launchd 守护进程,监听一个唯一的端口。这是一个例子 plist 文件。
  2. 我配置 /etc/hosts,将流量从这些域名重定向到 127.0.0.1。
  3. 然后我运行并配置 Caddy,将流量从 127.0.0.1 重定向到对应域名的正确端口。

因此,如果我在端口 5050 上运行一个应用,我将在 /etc/host 中有一个相应的条目:

127.0.0.1 inclouds.localhost

并且在我的 Caddyfile 中有一个像这样的部分:

inclouds.localhost {
  reverse_proxy localhost:5050
  tls internal
  encode gzip zstd
}

目前效果不错,但我真的很想简化这个过程。如果可以通过单个命令来安装或卸载 .localhost 域名的应用,而不是手动编辑三个文件,那该有多酷?但这将是未来的一个项目。

感谢阅读!

更新:cristóbal 提出了一个使用 dnsmasq 的命令,让这件事变得更好了! Delete