Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 转换当前作为windows服务部署的现有http中继服务器以处理https请求_Vb.net_Sockets_Iis_Https_Windows Services - Fatal编程技术网

Vb.net 转换当前作为windows服务部署的现有http中继服务器以处理https请求

Vb.net 转换当前作为windows服务部署的现有http中继服务器以处理https请求,vb.net,sockets,iis,https,windows-services,Vb.net,Sockets,Iis,Https,Windows Services,我在VB.NET中有一个自定义编码的中继服务器应用程序,它当前作为windows服务部署 它使用Tcp侦听器接受来自客户端的HTTP web请求,解析请求并通过套接字通信将其转发给另一个远程托管服务。然后,我的中继服务器将服务的结果作为http响应发送回原始客户端 到目前为止,这个功能工作得很好,但是我现在想升级我的中继服务器以接受HTTPS请求,而不是http请求。 我不知道如何推进这种情况 我研究并发现了以下两个选项,但我不确定哪一个更好、更可行? 第一,我显式地升级我当前的代码以处理htt

我在VB.NET中有一个自定义编码的中继服务器应用程序,它当前作为windows服务部署

它使用Tcp侦听器接受来自客户端的HTTP web请求,解析请求并通过套接字通信将其转发给另一个远程托管服务。然后,我的中继服务器将服务的结果作为http响应发送回原始客户端

到目前为止,这个功能工作得很好,但是我现在想升级我的中继服务器以接受HTTPS请求,而不是http请求。 我不知道如何推进这种情况

我研究并发现了以下两个选项,但我不确定哪一个更好、更可行? 第一,我显式地升级我当前的代码以处理https握手、证书验证等(如果是,如何?),或者第二个选项,我当前的应用程序是否可以托管在IIS上以处理这种情况(如果是,如何)


提前感谢。

一个可能的解决方案是使用IIS和应用程序请求路由(ARR)作为服务前面的反向代理(不可能在IIS中“托管”您的服务)

您可以使用证书和合适的HTTPS绑定设置IIS/ARR,然后将ARR配置为将HTTPS请求代理到侦听HTTP的服务上。无需更改服务的代码

请看以下示例:

在您的情况下,在端口80上侦听的服务与在IIS中运行的网站没有什么不同。上面的例子比你需要的要复杂得多(因为它的反向代理是基于URL前缀的两个网站),但它给了你一个起点

强制所有流量使用HTTPS的另一个可能步骤是更改您的服务使用的端口(例如更改为8080而不是80),然后将IIS设置为处理端口80以重定向到443,然后使用443和ARR将您的流量代理到8080.2上的服务