后端开发

nodejs开发面对GFW时,如何设置全局代理

Nodejs开发时设置全局代理

• 1分钟

Contents

Prequired

Code implementation

在项目中安装undici

pnpm i undici -D

在项目的入口文件处添加以下代码

import { env } from "process";
import { setGlobalDispatcher, ProxyAgent } from "undici";

if (env.https_proxy && env.NODE_ENV === 'development') {
  // Corporate proxy uses CA not in undici's certificate store
  process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
  const dispatcher = new ProxyAgent({
    uri: new URL(env.https_proxy).toString(),
    token: `Basic ${Buffer.from("usename:passwordd").toString("base64")}`,
  });
  setGlobalDispatcher(dispatcher);
}