Mono HttpListener требует рут?
Если я пытаюсь запустить мою программу, которая использует HttpListener без рута, это исключение.
Необработанное исключение: System.Net.Sockets.SocketException: доступ запрещен в System.Net.Sockets.Socket.Bind (System.Net.EndPoint local_end) [0x00000] в:0 в System.Net.EndPointListener..ctor (System.Net.IPAddress addr, порт Int32, логическая защита) [0x00000] в:0 в System.Net.EndPointManager.GetEPListener (System.Net.IPAddress addr, порт Int32, прослушиватель System.Net.HttpListener, логический безопасный) [0x00000] в:0 в System.Net.EndPointManager.AddPrefixInternal (System.String p, прослушиватель System.Net.HttpListener) [0x00000] в:0 в System.Net.EndPointManager.AddListener (прослушиватель System.Net.HttpListener) [0x00000] в:0
Как я могу разрешить использование HttpListener пользователями помимо root?
1 ответ
Если вы хотите, чтобы он прослушивал порт 80, он должен быть запущен пользователем root. Если у вас все в порядке с прослушиванием порта> 1024, то любой пользователь сможет запустить его.
Если вы хотите, чтобы другие пользователи могли запускать прослушивание через порт 80, вам нужно разрешить им запускать его через sudo.