.NET HttpListener - 设置浏览器代理时,在收听"https://*.8080"时没有流量?

Gre*_*reg 4 .net c# ssl https httplistener

背景 - 我可以让HttpListener适用于HTTP流量.但是,我遇到了HTTPS流量问题.

问:我怎样才能改变下面的代码,使浏览器请求为"https"开头的网址会实际上是由我的HttpListener被拾起?

注意 - 目前firefox的代理设置设置为"localhost:8080",当我在端口8080("https://*:8080 /")上收听流量时,我在firefox中输入了一个HTTPS网址,我得到了没有交通被接走?(当我只听http并输入正常的http url时,它工作正常)

  _httpListener = new HttpListener();
  _httpListener.Prefixes.Add("https://*:8080/");
  _httpListener.Start();
Run Code Online (Sandbox Code Playgroud)

谢谢

Pab*_*blo 5

来自MSDN

如果使用https创建HttpListener,则必须为该侦听器选择服务器证书.否则,此HttpListener的HttpWebRequest查询将因意外关闭连接而失败.

您可以使用HttpCfg.exe配置服务器证书和其他侦听器选项.有关 详细信息,请参阅 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/http/http/httpcfg_exe.asp.可执行文件随Windows Server 2003一起提供,或者可以从Platform SDK中提供的源代码构建.

不确定100%虽然......

  • 不,你不能听443并处理这个,除非你自己实现SSL堆栈:)你可能也有兴趣查看这篇MSDN文章:http://blogs.msdn.com/jpsanders/archive/2009/09 /29/walkthrough-using-httplistener-as-an-ssl-simple-server.aspx (2认同)