У меня HttpListener .exe запускается на локальном сервере в виртуальной машине,
- , когда я подключаюсь с клиента через веб-браузер, он НЕ РАБОТАЕТ через TLS. (РЕСУРС НЕ НАЙДЕН)
- когда я подключаюсь с клиента с помощью приложения dotnet (HttpWebRequest), он РАБОТАЕТ через TLS.
- сертификаты настроены правильно, потому что я проверил их с размещенным на IIS веб-сайтом на том же сервере ВМ,И это прекрасно работает.
Код слушателя:
String[] prefixes = { "https://+:8443/", "http://+:8480/" };
// Create a listener.
HttpListener listener = new HttpListener();
// Add the prefixes.
foreach (string s in prefixes)
{
listener.Prefixes.Add(s);
}
listener.Start();
Console.WriteLine("Listening...");
// Note: The GetContext method blocks while waiting for a request.
HttpListenerContext context = listener.GetContext();
HttpListenerRequest request = context.Request;
// Obtain a response object.
HttpListenerResponse response = context.Response;
// Construct a response.
string responseString = "<HTML><BODY> Hello world SSL!</BODY></HTML>";
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
// Get a response stream and write the response to it.
response.ContentLength64 = buffer.Length;
System.IO.Stream output = response.OutputStream;
output.Write(buffer, 0, buffer.Length);
// You must close the output stream.
output.Close();
listener.Stop();