Windows Server блокирует порт
Написал вот такой незатейливый код для проверки возможности подключения к определённому порту на сервере:
//#define ROLE_SERVER
using System;
using System.Net;
using System.Net.Http;
namespace TestPortAccess {
internal class Program {
static void Main(string[] args) {
const string ipAddress = "{IP}";
const int port = 8443;
#if ROLE_SERVER
var listener = new HttpListener();
listener.Prefixes.Add($"https://+:{port}/");
listener.Start();
while (true) {
Console.WriteLine("Wait for context...");
var httpContext = listener.GetContext();
Console.WriteLine("Context received!");
httpContext.Response.StatusCode = (int)HttpStatusCode.OK;
httpContext.Response.Close();
}
#else
ServicePointManager.ServerCertificateValidationCallback += delegate { return true; };
HttpClient client = new HttpClient();
try {
var response = client.PostAsync($"https://{ipAddress}:{port}/", new StringContent("Hello"))
.GetAwaiter().GetResult();
response.EnsureSuccessStatusCode();
Console.WriteLine("Response: " + response.StatusCode);
}
catch (Exception ex) {
Console.WriteLine(ex);
}
Console.ReadKey();
#endif
}
}
}
Брандмауэр на клиенте и на сервере выключен, Windows Defender тоже, никакого другого ПО на сервере не работает. Однако при выполнении запроса со стороны клиенты возникает исключение:
System.Net.Http.HttpRequestException: Произошла ошибка при отправке запроса. ---> System.Net.WebException: Базовое соединение закрыто: Непредвиденная ошибка при передаче. ---> System.IO.IOException: Не удается прочитать данные из транспортного соединения: Удаленный хост принудительно разорвал существующее подключение. ---> System.Net.Sockets.SocketException: ...
В чём может быть проблема? Что может блокировать доступ к порту и какие есть способы в этом разобраться?
OS: Windows Server 2019 Target .NET Framework: 4.5.2
PS: К порту привязан самоподписанный SSL-сертификат, добавленный в хранилище сертификатов сервера.