您可以将 IP 别名添加到主机环回接口,以用作通常在本地主机上运行的任何内容的服务地址。选择一个您不太可能在其他地方使用的私有 IP 地址,例如 10.8.8.8 即可。
配置
添加别名
$ sudo ifconfig lo0 alias 10.8.8.8 netmask 255.255.255.255 up
检查别名是否存在
$ ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 10.8.8.8 netmask 0xffffffff
nd6 options=1<PERFORMNUD>
使用别名地址。
$ curl -I http://10.8.8.8:4873
HTTP/1.1 200 OK
X-Powered-By: Unicorns/1.4.0
X-Frame-Options: deny
Content-Type: text/html; charset=utf-8
ETag: "03158871ca3bbf51e45a2c133c2176b9"
Content-Length: 8524
Vary: Accept-Encoding
Date: Tue, 04 Oct 2016 00:44:34 GMT
Connection: keep-alive
如果您的服务配置为专门侦听本地主机而不是通配符/所有地址,您可能需要重新配置它以侦听10.8.8.8
反而。
Startup
要永久添加别名,请创建一个文件/Library/LaunchDaemons/com.yourname.ifconfig.10.8.8.8.plist
包含以下内容:
<plist version="1.0">
<dict>
<key>Label</key>
<string>ifconfig-10.8.8.8</string>
<key>ProgramArguments</key>
<array>
<string>/sbin/ifconfig</string>
<string>lo0</string>
<string>alias</string>
<string>10.8.8.8</string>
<string>netmask</string>
<string>255.255.255.255</string>
<string>up</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
这也可以作为通用网络解决方案。专用服务地址不需要托管在本地主机上,它可以位于本地网络上的任何位置。如果您的所有专用网络都有可用的服务地址,您可以在任何地方使用该配置,而不是为本地开发提供特殊情况。