2010-04-15 2 views
3

배경 - HTTP 트래픽에 대해 HttpListener가 올바르게 작동하도록 할 수 있습니다. HTTPS 트래픽에 문제가 있습니다..NET HttpListener - 브라우저 프록시가 설정된 경우 "https : //*.8080"을 청취 할 때 트래픽이 없습니까?

질문 : "https"URL에 대한 브라우저 요청이 실제로 HttpListener에 의해 선택되도록 아래 코드를 어떻게 변경합니까?

참고 - 포트 8080 ("https : // * : 8080 /")에서 트래픽을 수신 할 때 firefox의 프록시 설정이 "localhost : 8080"으로 설정된 순간에 다음과 같이 HTTPS URL을 입력합니다. 파이어 폭스, 나는 어떤 소통량도 주워지지 않고있다?

_httpListener = new HttpListener(); 
    _httpListener.Prefixes.Add("https://*:8080/"); 
    _httpListener.Start(); 

감사

답변

5

MSDN

에서 당신은 HTTP Listener에 HTTPS, 당신은 그 청취자에 대한 서버 인증서를 선택해야합니다 사용하여 작성하는 경우. 그렇지 않으면 의 HttpWebRequest 쿼리에서이 HttpListener가 예기치 않은 연결 종료로 과 함께 실패합니다.

HttpCfg.exe를 사용하여 서버 인증서 및 기타 수신기 옵션을 구성 할 수 있습니다. 자세한 내용은 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/http/http/httpcfg_exe.asp 을 참조하십시오. 실행 파일은 Windows Server 2003에 포함 된 이거나 은 플랫폼 SDK의 소스 코드 에서 빌드 할 수 있습니다.

확실하지 100 %하지만 ... 그것은 포트가 모두 통과

+0

흥미 롭습니다 - 저는 정말로 요청을 받고 나서 새로운 요청 (프록시 자체로 작동)을 통해 "복사"하고 싶습니다. 다른 사람이 마이클의 생각을 확인/거부 할 수 있습니까? – Greg

+0

http처럼 간단하지 않습니다. 클라이언트 (브라우저)는 443 포트를 사용하여 서버에 연결을 설정 한 다음 인증서 정보를 검색합니다. 요청은 다음과 같습니다. CONNECT localorglobal.com:443 HTTP/1.0. 그러면 서버는 HTTP/1.0 200 Connection으로 응답하고 클라이언트와 서버간에 이진 암호화 데이터가 전송됩니다. – Pablo

+0

Oh..ok..So 포트 443에서 수신 대기하는 별도의 HttpListener가 이것을 처리 할 수 ​​있습니까? 어떤 종류의 리스너는 인증서 등을 처리하는 방법을 알아야하거나 HttpListener가이 작업을 수행 할 것인가? 즉, .NET C# 코드에서 웹 서버가 SSL 설정 단계를 처리하기 위해 일반적으로하는 일을 에뮬레이션하는 가장 간단한 방법은 무엇입니까? – Greg

0

예상처럼 파이어 폭스가 HTTPS 트래픽을 프록시되지 않을 것 소리 (난 그냥 HTTP를 정상의 HTTP URL의의를 입력들을 때 그것을 잘 작동합니다). HTTPS 요청이 브라우저에서 실제로 렌더링됩니까 (HTTPListener에 트래픽이 표시되지 않더라도)?

Firefox 브라우저가 HTTP와 동일한 위치로 SSL을 프록시하도록 설정되어 있는지 확인하거나 "모든 서버 프로토콜에이 프록시 사용"상자가 선택되어 있는지 확인하십시오.

+0

브라우저는 실제로 비워 두었습니다. - "모든 서버 프로토콜에이 프록시 사용"으로 설정되어 있습니다. – Greg

+0

좋습니다, 마이클이 제안한대로 전화 끊기가 청취자에있는 것 같습니다. 전에 .NET 코드로 인증서 문제가 발생했습니다. 당신은 문제가있을 때, 그것은 자동으로 실패하고 당신이 무슨 일이 일어나고 있는지 궁금해하는 경향이있다. SSL을 수행하려면 확실히 서버 측 인증서가 필요합니다. –

+0

정상적인 서버 유형 인 SSL 인증서 만 웹 사이트에 올릴 수있는 종류입니까? XP PC에서 하나를 생산할 수 있습니까? (예 : Windows 서버가 아님) – Greg

0

확인 FW 설정합니다.

관련 문제