#2582·grist-core

为代理的出站请求设置 Honor no_proxy / NO_PROXY (小组件清单等)

作者: sofianebeloucif创建于 2026年9月9日更新于 2026年9月9日

描述要解决的问题 当配置了出站 HTTP 代理(HTTPS_PROXY/https_proxy 用于可信的请求,GRIST_PROXY_FOR_UNTRUSTED_URLS 用于不可信的请求)时,Grist 会将每个请求路由到该代理。目前尚无办法来排除特定主机不进行代理。GristProxyAgentapp/server/lib/ProxyAgent.ts)故意覆盖了 getProxyForUrl,始终返回配置的代理 URL,从而省略了 proxy-from-env。因此,标准的 no_proxy/ NO_PROXY 环境变量将被忽略。 这在企业环境中是一个问题,因为代理仅用于外部流量,而内部主机必须直接访问。一个具体的案例是获取自定义小组件声明文件的代理(WidgetRepository.ts,使用 agents.trusted):如果小组件列表 URL 指向内部主机,则请求仍然会被强制通过代理并失败。 这是 #855 中的 no_proxy 部分,已被缩小到可行的范围。 ### 描述您希望的解决方案 在 GristProxyAgent 中尊重标准的 no_proxy/ NO_PROXY 环境变量,使用通常的语义: - 用逗号/空格分隔的主机后缀列表 - * 完全禁用代理 - 可选的 :port 组件 - 以点开头和裸域名后缀匹配(.example.com/ example.com) 适用于可信和不可信的代理代理。当请求 URL 匹配绕过列表时,连接将直接建立,而不通过代理。

内容来源: gristlabs/grist-core