无法使用 useHTTPS 访问 Grapevine rest 服务器

Posted

技术标签:

【中文标题】无法使用 useHTTPS 访问 Grapevine rest 服务器【英文标题】:Grapevine restserver not reacheable with useHTTPS 【发布时间】:2017-08-11 21:51:12 【问题描述】:

当我将 useHttps 属性设置为 true 时,我无法访问服务器。

服务器的实例化如下所示:

class Listener

    RestServer server;
    public Listener()
    
        server = new RestServer();

        server.Port = "8137";
        server.UseHttps = true;
    

服务器启动,控制台输入告诉我它正在侦听https://localhost:8137,但是当我尝试发出请求(在 Fiddler 中)时,我收到错误消息:502 Fiddler - Connection Failed。

The connection to 'localhost' failed. 
System.Security.SecurityException Failed to negotiate HTTPS connection with server.fiddler.network.https> HTTPS handshake to localhost (for #38) failed. System.IO.IOException Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. < An existing connection was forcibly closed by the remote host 

对我来说,HTTPS 和证书可能存在问题。但是我在哪里可以指定证书?

【问题讨论】:

【参考方案1】:

Grapevine 构建在 .NET HttpListener 类之上。 从代码的角度来看,您在原始帖子中已有的内容就足够了。但是,要使其正常工作,还需要在运行服务器的机器上完成更多工作。

参见the HttpListener docs,尤其是页面底部的注释。

有一个出色的writeup on *** 可以为本地主机启用 https 支持。

如果您遇到problems like this one,我建议您在 *** 上搜索,因为该问题与 Grapevine 无关,而与证书设置有关。

【讨论】:

是的,我后来真的意识到了这一点。问题是我需要告诉 Windows 使用证书在给定端口上进行通信。这篇文章有详细信息:***.com/a/11457719/943170

以上是关于无法使用 useHTTPS 访问 Grapevine rest 服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何获取完整的HTTP请求(不是响应)标头

我的本本(Windows 7系统)一开机就出现 permission denied,求高手指点,怎么解决这样的问题

如何在没有任何附加模块的情况下在迷你 Web 服务器中返回 json?

googleajax库API

Python Ethical Hacking - Bypass HTTPS

thinkphp 响应对象response