【问题标题】:node server placed behind proxy server failed to GET request to https://localhost:<port>放置在代理服务器后面的节点服务器无法 GET 请求到 https://localhost:<port>
【发布时间】:2020-11-20 01:08:44
【问题描述】:

在我的机器上,我托管了一个正在侦听端口 5000 的节点服务器。在设置转发代理 (squid) 之前,我能够在 https://localhost:&lt;port&gt; 上执行 GET。但是,在设置了转发代理并设置了环境变量http_proxy=&lt;ip addr:port&gt;之后,这个GET请求就不再起作用了。

出现的错误是:无法建立隧道套接字,statusCode=503

一些附加信息:

  • 代理服务器工作正常,因为我可以通过它连接到互联网。
  • 改为在 https:localhost:5000/api 上执行 curl。
  • 我对请求使用 request.js,使用 agentOptions 来指定 TLS 协议和 ca 证书。

我希望了解添加代理后流量现在有何不同。根据我的理解,现在我们必须先通过一种 TLS CONNECT / 隧道,因为它是一个 HTTPS 请求,然后才能返回到我的本地主机。但是在没有代理的情况下,它是如何工作的呢?

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: node.js ssl proxy squid


    【解决方案1】:

    您必须添加 导出 no_proxy='localhost,127.0.0.1' https 工作,因为您不使用代理 https ,您必须设置 https_proxy=''

    【讨论】:

    • 嘿,谢谢!我相信这解决了我的问题。我试图了解更多关于这些环境变量的信息,但似乎找不到太多关于它的信息。我可以知道您是否知道我可以为此阅读的任何资源/文档?谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 2020-05-03
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    相关资源
    最近更新 更多