0

我写了一个运行良好的代理服务器。但是在查看日志时,有一些奇怪的请求,例如:

POST https://vortex.data.microsoft.com/collect/v1 HTTP/1.1

还有一些GET通过https。我认为只CONNECT允许通过https,我错了吗?如果我错了,如何处理这些请求?(我刚刚在我的应用程序中删除了这些请求。)

另一件事可能不相关,所有这些请求都与microsoft日志相关。

4

1 回答 1

1

在代理中使用HTTPS处理任何HTTP 方法都没有任何问题。

如果没有另外说明,所有带有https://-protocol 的请求将被自动接收并发送到端口。443

独立地,如果您有一个部署了HAProxy,的服务器NGINXApache Web Server或者您确实在 JavaScript 中编写了一个像这样的代理,那么您唯一需要做的就是将请求真正代理到目标服务器地址。


关于加密,HTTPS 确保客户端和实际目标之间没有窃听者,因此代理将充当初始目标,然后这将透明地拦截连接。

  1. 客户端启动到代理的 HTTPS 会话
  2. 代理拦截并返回其证书,该证书由客户端信任的 CA 签名。
  3. 代理启动到目标的 HTTPS 会话
  4. Target 返回其证书,该证书由 Proxy 信任的 CA 签名。
  5. 代理流式传输内容,使用其证书解密和重新加密。

基本上它是两个 HTTPS 会话的串联,一个在客户端和代理之间,另一个在代理和最终目的地之间。

于 2021-11-17T11:30:00.733 回答