Le'ts说您在端口80上打开一个tcp套接字来处理http请求,在端口443上打开一个ssl套接字以处理https ...一些代理如何在同一个端口上提供对它们的访问?
我发现只有这个link,但它不是很有用。你能给我一个erlang的例子,或者给我一些资源,我可以从中学到更多关于这个主题的信息吗?
提前致谢
答案 0 :(得分:5)
某些代理如何在同一端口上提供对它们的访问?
通过实施HTTP CONNECT
方法,(非透明)代理可以切换到提供TCP隧道,浏览器可以通过该隧道访问HTTPS资源。
答案 1 :(得分:3)
如您提供的链接所述,您需要编写自己的自定义服务器来嗅探请求,然后相应地重定向到正确的协议。
如http://www.faqs.org/rfcs/rfc2818.html所示,HTTP会话将以初始请求行(例如GET /
)开始,而TLS会话将以ClientHello开始(更多关于{{3}上的TLS会话})
网上有很多关于在Erlang中编写服务器的资源,例如: wikipedia
顺便提一下,您的术语不正确:http,https SSL和TLS是协议,并且所有术语都使用TCP套接字进行操作。