0
클라이언트/서버 인증에 x509 인증서를 사용하는 http 수신기를 만들려고합니다.HttpListener 서버에서 오류를 반환합니다. (503) Service Unavailable
내 서버 코드는 다음과 같습니다. 내가 제대로 모든 것을 구성한 생각
string url = "https://localhost:8006/";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
var store = new X509Store(StoreName.TrustedPeople, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
var cert = store.Certificates.Find(X509FindType.FindBySubjectName, "localhost", true);
request.ClientCertificates.Add((X509Certificate)cert[0]);
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, policyErrs) =>
{
return policyErrs == System.Net.Security.SslPolicyErrors.None;
};
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
을 다음과 같이
_listener = new HttpListener();
_listener.Prefixes.Add("https://localhost:8006/");
_listener.Start();
HttpListenerContext context = _listener.GetContext();
내 클라이언트 코드입니다. 인증서 정책 오류가 없으며 포트에 SSL 인증서를 바인딩했으며 수신기를 실행하기 위해 높은 권한이 필요하지 않습니다. 내가 크롬 코드 또는를 통해 웹 요청을하면
나는이 오류가 발생합니다. 여기서 내가 뭘 잘못하고 있니?
'netsh http 명령 사용 '을 시도해 보셨습니까? 아마도 당신이 8006있는 포트는 이미 사용 중입니다. 또한 다음 [httpListener 오류 503의 원인] (http://stackoverflow.com/questions/8142396/what-causes-a-httplistener-http)에서 Google 검색을 수행하십시오. -503-error) – MethodMan
포트 번호를 30001로 변경했는데 이것이 확실하고 동일한 결과를 얻었습니다. –