@@ -12,8 +12,6 @@ import { ProxyAgent, type ProxyAgentOptions } from 'proxy-agent';
1212import { getProxyForUrl } from 'proxy-from-env' ;
1313import { isDevEnv } from '@fastgpt/global/common/system/constants' ;
1414import { isInternalAddress , isInternalResolvedIP , PRIVATE_URL_TEXT } from '../system/utils' ;
15- import { isAbsoluteUrl } from '../security/network' ;
16- import { SERVICE_LOCAL_HOST } from '../system/tools' ;
1715
1816/**
1917 * 给 shared axios 实例添加 SSRF 防护。
@@ -412,32 +410,3 @@ export function createProxyAxios(config?: AxiosRequestConfig, ssrfCheck = true)
412410/** @see https://github.com/axios/axios/issues/4531 */
413411export const axios = createProxyAxios ( ) ;
414412export const axiosWithoutSSRF = createProxyAxios ( undefined , false ) ;
415-
416- /**
417- * 内部相对路径请求专用的 axios 实例:
418- * - baseURL 固定为本机 NextJS API
419- * - 不带 SSRF 拦截器(本机调用必然解析到 localhost,装拦截会把所有合法请求拦死)
420- * - 不复用 safe axios 的 ProxyAgent,保证内部回环不会被外部代理转走
421- *
422- * 仅在 url 是相对路径时使用;绝对 URL 必须走 safe `axios`。
423- */
424- const internalAxios : AxiosInstance = _ . create ( {
425- baseURL : `http://${ SERVICE_LOCAL_HOST } `
426- } ) ;
427-
428- /**
429- * 根据 URL 类型自动选择合适的 axios 实例,避免每个调用点重复
430- * `isAbsoluteUrl ? safe : raw` 三元。
431- *
432- * - 绝对 URL(`http(s)://...` 或 `//...`)→ safe `axios`(SSRF 拦截,拒绝内网/metadata)
433- * - 相对路径(`/api/...` 等)→ `internalAxios`(本机 baseURL,可信内部 API)
434- *
435- * 用法:
436- * ```ts
437- * const client = pickOutboundAxios(url);
438- * const res = await client.get(url, { responseType: 'arraybuffer' });
439- * ```
440- */
441- export const pickOutboundAxios = ( url : string ) : AxiosInstance => {
442- return isAbsoluteUrl ( url ) ? axios : internalAxios ;
443- } ;
0 commit comments