我目前正在使用一些.Net核心微服务 dotnet xyz.dll。
它们目前可以正常运行并且可以正常工作,但是为了使一个人与另一个人交谈,我当然需要防火墙例外。
我没想太多,我使用脚本来使用netsh并将异常添加到dll。但是,这似乎无法正常工作。
由于dotnet是编译器,并且dll本身很可能不会“运行”,所以从技术角度上讲,这可能听起来更复杂。
在dotnet.exe本身中添加例外听起来像是一个坏主意,那么这是唯一编译为exe然后向其添加例外的解决方案吗?
更新:
只是增加一些背景以备不时之需。
我有一系列通过nomad部署的微服务。 Nomad本身会从文件存储中进行复制,然后将其放在计算机上,然后运行以下脚本。该程序将运行,除了防火墙外,其他所有东西都可以正常工作。
我当然会部署一个exe,但是随后我必须编译所有变体,并通过nomad知道放置目标,以选择正确的变体。
netsh advfirewall firewall add rule name="Allow %1" dir=in action=allow program="%2"
dotnet %2
netsh advfirewall firewall delete rule name="Allow %1" dir=in
(netsh显然仅适用于Windows,但是这两行可能取决于环境)
交叉张贴在dotnet核心github上,这可能是一个更好的地方。