Я устанавливаю простой сервер на основе HttpListener в ядре .net, который должен работать на MacOS.Прекрасно работает на http, но мне нужно, чтобы он работал на https (порт 443. Пробовал настраиваемый порт, но все равно безуспешно)
В Windows работает с «netsh add iplisten» и связывает сертификат с «netsh».добавить sslcert ".И он отлично работает как для http, так и для https.
В Mac OS, однако, первое, что я обнаружил, это настроить псевдоним для localhost «ifconfig lo0 alias 127.0.0.9 up», чтобы мне было разрешено начатьhttplistener.
Это сработало, и всякий раз, когда я делаю HTTP-запрос на 127.0.0.9, я получаю ответ, который жестко запрограммирован в браузере.
Https по-прежнему не работает.Поэтому я попытался связать сертификат.Я использовал openssl для создания сертификата => получил сертификат .p12 с собственной подписью.Использовал "httpcfg -add -port 443 -p12 server.p12 -pwd mypassword". Это сработало, как я мог видеть, в файлах ~ ~.1009 *
Однако, если я перехожу на https://127.0.0.9, я получаю сообщение об ошибке сброса соединения в браузере.
Я понятия не имею, что еще попробовать, и я не могу найти ответ,Кто-нибудь пытался сделать это на Mac OS?
var ipAddress = "127.0.0.9";
var httpListener = new HttpListener();
var httpPrefix = string.Format("http://{0}/", ipAddress);
var httpsPrefix = string.Format("https://{0}/", ipAddress);
httpListener.Prefixes.Add(httpPrefix);
httpListener.Prefixes.Add(httpsPrefix);
httpListener.Start();
WaitForNewRequest(httpListener);
В методе «WaitForNewRequest (httpListener)» я просто пишу жестко запрограммированный ответ «hello world» и жду следующего запроса.Ничего сложного.
Спасибо!