溫馨提示×

ubuntu如何配置nodejs代理

小樊
47
2025-07-27 10:26:38
欄目: 編程語言

在Ubuntu系統中配置Node.js代理,通常是為了讓Node.js應用程序能夠通過代理服務器訪問外部網絡資源。以下是配置Node.js代理的幾種方法:

方法一:使用環境變量

  1. 臨時設置: 你可以在運行Node.js應用程序之前,通過設置環境變量來配置代理。

    export HTTP_PROXY=http://proxy.example.com:8080
    export HTTPS_PROXY=https://proxy.example.com:8080
    node your-script.js
    
  2. 永久設置: 你可以將這些環境變量添加到你的shell配置文件中(例如.bashrc.zshrc),以便每次啟動終端時自動設置。

    echo 'export HTTP_PROXY=http://proxy.example.com:8080' >> ~/.bashrc
    echo 'export HTTPS_PROXY=https://proxy.example.com:8080' >> ~/.bashrc
    source ~/.bashrc
    

方法二:使用npm配置

如果你是通過npm安裝包,可以配置npm使用代理。

  1. 臨時設置

    npm config set proxy http://proxy.example.com:8080
    npm config set https-proxy http://proxy.example.com:8080
    
  2. 永久設置: 將上述命令添加到你的npm配置文件中(通常是~/.npmrc)。

    echo 'proxy=http://proxy.example.com:8080' >> ~/.npmrc
    echo 'https-proxy=http://proxy.example.com:8080' >> ~/.npmrc
    

方法三:在Node.js代碼中設置

你也可以在Node.js應用程序代碼中直接設置代理。

const http = require('http');
const https = require('https');

const options = {
  hostname: 'example.com',
  port: 80,
  path: '/',
  method: 'GET',
  headers: {
    'Proxy-Authorization': 'Basic ' + Buffer.from('username:password').toString('base64')
  }
};

const req = http.request(options, (res) => {
  console.log(`STATUS: ${res.statusCode}`);
  res.on('data', (chunk) => {
    console.log(`BODY: ${chunk}`);
  });
});

req.on('error', (e) => {
  console.error(`problem with request: ${e.message}`);
});

req.end();

方法四:使用第三方庫

有一些第三方庫可以幫助你更方便地管理代理設置,例如global-agent。

  1. 安裝global-agent

    npm install global-agent --save
    
  2. 配置global-agent: 在你的應用程序入口文件(例如app.js)中添加以下代碼:

    const { setEnv } = require('global-agent/env');
    
    setEnv({
      HTTP_PROXY: 'http://proxy.example.com:8080',
      HTTPS_PROXY: 'https://proxy.example.com:8080'
    });
    
    // 你的應用程序代碼
    

通過以上幾種方法,你可以根據自己的需求選擇合適的方式來配置Node.js代理。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女