我已经构建了一个自托管的 wcf 服务器,使用wsHttpBinding
. 我正在运行 Win 2003 服务器 R2 SP2。
如果我将其配置为监听http://localhost:443/MyService
,一切正常。我可以http://localhost:443/MyService
使用 Internet Explorer 连接,并收到标准的“错误请求”消息
现在,如果我尝试切换到 HTTPS,我会看到一个奇怪的现象。
这是我所做的:
- 我已经将我的 wcf 配置文件从
http://localhost
tohttps://localhost
和 fromSecurity=None
更改为Security=Transport
(如许多 wcf 教程中所述) 我已经像这样注册了我的 HTTP 端口:
httpcfg delete ssl -i 0.0.0.0:443 httpcfg set ssl -i 0.0.0.0:443 -h ea2e450ef9d4...
请注意,我使用的证书是“真实证书”(即由受信任的 CA 颁发,即 Comodo)。服务器响应证书中提到的 NS 上的 ping。
现在,以下将超时:
Microsoft Telnet> open localhost 443
这是netstat
(Pid '4' 是 'System' 进程)的输出:
netstat -nao
Proto Local Adress Remote Adress State Pid
TCP 0.0.0.0:443 0.0.0.0:0 Listening 4
这是我在 telnet 中发出 open 命令时捕获的TCPView的屏幕截图:
替代文字 http://img26.imageshack.us/img26/3376/tcpview2si6.jpg
我有点疑惑。对我来说,如果netstat
说服务器正在监听 443,那么到 443 的 telnet 连接不应该超时,而且我应该至少有一个空白提示,希望我输入一些加密的东西 :)
到目前为止,我已经尝试过:
- 完全按照 MSDN 教程从头开始重做所有步骤
- 使用端口 10443 而不是 443
- 禁用防火墙
- 使用自签名证书
我不知道接下来要尝试什么..有什么想法吗?