多播多個 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 腳本將在其中廣播任何名稱。
一個麻煩的解決方案是在後台執行以下命令的多個實例:
avahi-publish -a -R whatever.local 192.168.123.1
更好的解決方案可能是使用 python-avahi 發布 cnames。參見例如https://github.com/airtonix/avahi-aliases>或<http://www.avahi.org/wiki/Examples/PythonPublishAlias
更新:
avahi wiki 似乎消失了。這是我發布的連結的存檔頁面:https ://web.archive.org/web/20151016190620/http://www.avahi.org:80/wiki/Examples/PythonPublishAlias