У меня есть приложение Windows, которое будет развернуто на нескольких компьютерах в разных сетях. Эти приложения должны запускать некоторые действия при получении соответствующего запроса от внешнего сервиса.
Для этого я получил HttpListener
, который ждет запросов и выполняет необходимые действия.
Проблема с NAT и безопасностью. Когда приложение Windows запускается, оно должно сообщить внешней службе, что оно работает и как к нему можно добраться (находясь за NAT, это не так тривиально, требуется какое-то туннелирование?). Когда внешней службе нужно что-то выполнить в приложении Windows, она отправляет ему запрос, и приложение должно продолжить действия и отправить ответ на сервер.
Как лучше всего открыть мое приложение Windows за NAT для внешней службы (туннелирование?) и как сделать его безопасным (HTTPS?)? Или, может быть, есть лучшее решение для такого рода удаленных вызовов (RPC?)?