【发布时间】:2017-05-21 03:07:48
【问题描述】:
我正在尝试在 Indy 中编写一个代理服务器来接收来自外部客户端的 HTTPS 调用,并在 HTTP 中将它们转发到同一台机器上的另一个服务器应用程序。原因是其他应用程序不支持 SSL,因此我想将其流量包装在 SSL 层中以确保外部安全。
我当前的方法是使用带有 SSL IOHandler 的 TIdHTTPserver,在其 OnCommandGet 处理程序中,我动态创建了一个 TIdHTTP 客户端,它从内部应用程序获取 TFileStream ContentStream 并将该流作为 Response.ContentStream 返回到外部来电者。
这种方法的问题在于,在开始发送外部流之前必须等待内部内容流被完全接收所导致的延迟。例如,它不适用于流媒体。
我的问题是:有没有更好的方法将 HTTPS 代理到适用于流的 HTTP?即无需使用中间文件流。
【问题讨论】: