多播多个 mdns 名称

lar*_*z11 10 avahi mdns

我想要的是使用 avahi-daemon 多播一个名称。这样我就可以使用 domainA.local domainB.local 连接到它。

然后,我可以使用 nginx 将这些地址重新路由到不同应用程序的不同 Web 界面。

是否可以以多播多个名称的方式配置 avahi-daemon?

PS 使用 avahi-daemon 不是必需的。如果有另一个具有此功能的程序,我很乐意切换。

研究和结果

所以按照咕噜的建议,我首先尝试了 avahi-aliases。它在存储库中,但它似乎没有正确安装在我的系统上。根据说明应该在/etc/init.d/中安装了一个脚本,但没有。

然后我给了咕噜建议尝试的另一个链接,这立即奏效。它确实依赖于 python-avahi 并且只是需要在后台运行的 python 脚本的一个例子。我现在可以广播 domainA.local、domainB.local 和 domainC.local,并与 nginx 结合使用,这会导致机器上的不同 Web 界面,但都可以在端口 80 上访问。

更新

在对两者进行了更多的摆弄之后,我还发现 avahi-aliases 只能广播子域。因此,如果您的计算机名称是 elvispc,那么 avahi-aliases 只能广播 subdomainA.elvispc.local 和 subdomainB.elvispc.local,其中 python 脚本将广播任何名称。

gol*_*lum 11

一个繁琐的解决方案是在后台运行以下命令的多个实例:

avahi-publish -a -R whatever.local 192.168.123.1
Run Code Online (Sandbox Code Playgroud)

更好的解决方案可能是使用 python-avahi 发布 cname。参见例如https://github.com/airtonix/avahi-aliaseshttp://www.avahi.org/wiki/Examples/PythonPublishAlias

更新:
avahi wiki 似乎不见了。这是我发布的链接的存档页面:https : //web.archive.org/web/20151016190620/http : //www.avahi.org : 80/ wiki/Examples/ PythonPublishAlias