У меня есть несколько базовых микросервисов .Net, которые я сейчас использую с dotnet xyz.dll.
В настоящее время они работают и работают нормально, но для того, чтобы одно общалось с другим, мне, конечно, нужны исключения брандмауэра.
Недолго думая, я использовал скрипт для использования netsh и добавления исключений в dll.Однако, похоже, что это не работает должным образом.
Поскольку dotnet является компилятором, а сама dll, скорее всего, не "работает", это, вероятно, намного сложнее с технической точки зрения, чем кажется.
Добавление исключений в сам файл dotnet.exe звучит как плохая идея, поэтому является единственным решением для компиляции в exe, а затем добавить исключения к этому?
Обновление:Просто добавьте немного фона, если это необходимо.
У меня есть серия микросервисов, которые развернуты через nomad .Сам Nomad копирует из хранилища файлов, помещает его на компьютер и запускает приведенный ниже скрипт.Программа запускается и все работает, кроме брандмауэра.
Я бы, конечно, развернул exe, однако тогда мне пришлось бы скомпилировать все варианты и узнать цель размещения через кочевника, чтобы выбрать правильный.
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 работает только на окнах, однако эти две строки могут зависеть от среды)
Крест размещен в ядре dotnet github , что может быть лучше.