2014-12-18 2 views
1

자체 호스팅 모드에서 nancyfx 웹 서버를 시작하려고했습니다. 나는 서버가 시작하지만, 브라우저에 의해 열린 모든 연결을 즉시 폐쇄하고 브라우저에 "웹 사이트를 사용할 수 없습니다"를 HTTPS로 URI를 변경할 때, 그러나Nancyfx가 HTTPS를 통해 자체 호스팅

public static void Main(string[] args) 
{ 
     var hostConfig = new HostConfiguration 
     { 
      UrlReservations = new UrlReservations 
      { 
       CreateAutomatically = true 
      },   
     }; 

     var host = new NancyHost(hostConfig, new Uri("http://localhost:8081")); 
     host.Start(); 

     Console.ReadLine(); 

     host.Stop(); 
} 

: 다음 코드를 실행할 때 모든 것이 잘 작동 . 시간 초과로 인해 브라우저가 연결을 종료하기 전에 연결이 종료됩니다.

Windows에서 .NET 4.5를 사용하여 응용 프로그램을 실행하고 있습니다. netstat -a를 사용하면 올바른 포트가 열렸다는 것을 알 수 있습니다.

나는 뭔가를 놓친가요? 도움 주셔서 감사합니다.

답변

8

. 그 과정에서 많은 수표를 갖는 것이 유용하다는 것을 알게되었습니다.

CHECK1 - 인증서 가져 오기 ok : - 컴퓨터에 인증서를 설치 한 후 certutil -store MY - 거기에 인증서 세부 정보가 표시됩니다 (sha/user created/name 등). - 중지하지 않은 경우. 아마도 사용자 저장소로 가져 왔습니다 (또는 인증서가 유효하지 않습니다). 빈 mmc로 시작하여 MACHINE의 인증서를 가져와야합니다.

CHECK2 - netsh의 urlacl 목록에 URL이 추가됩니다. - acl에 uri를 추가 한 후 netsh http show urlacl을 실행하십시오. - uri/port가 STOP으로 나열되지 않은 경우. URL이 올바르게 추가되지 않았습니다.

CHECK3를 추가 - sslcert 명령을 실행 netsh http show sslcert를 실행 한 후 - - SSL은 urlacl 수밖에 없다 당신의 포트/샤 조합은 샤을 확인 후, 목록에없는 경우 (인용 부호로 둘러싸인 공백/APPID이 고유/앱 ID + 중괄호가 없습니다 PS에서 실행하는 경우)

희망이 있습니다. 나는 6 시간 동안 머리를 두드리는 소리를 낸 후에 위의 것을 만들었다. 이제 작동합니다!