Nodejs не может вызвать Google Stackdriver Logging API за прокси - PullRequest
0 голосов
/ 20 сентября 2019

Я могу успешно запустить следующий код на своем ноутбуке с общедоступным Wi-Fi.

const {Logging} = require('@google-cloud/logging');


let storageOptions = {
  projectId: 'project-01',
  keyFilename: 'mykey-c4426ff28f95.json'
};

const logging = new Logging(storageOptions);

  const options = {
    filter: 'resource.type="global" timestamp >= "2019-09-12T14:41:40+08:00"'
  };

async function getLog(){

    const [entries] = await logging.getEntries(options);

      entries.forEach(entry => {
        const metadata = entry.metadata;
        console.log(`${metadata.timestamp}:`, metadata[metadata.payload]);
      });
    return 'success';
}
getLog().then(msg=>{console.log(msg);process.exit(0);}).catch(err=>{
    console.log('list file error: '+err);
    process.exit(1);
});

Но когда я поместил тот же код на сервер своей компании, он ожидал и ответа не было.

Я думаю, что это проблема с прокси, поэтому я попытался решить ее следующими способами:

Время выполнения с прокси

https_proxy="http://proxy.mycompany.com:8000" node testLogging.js

Установить переменную среды

export https_proxy="http://proxy.mycompany.com:8000"

К сожалению, оба вышеперечисленных не могут решить проблему, и я не могу найти ответ в Google.

ps Я пробовал команду wget на сервере моей компании, API возвращает ответ 403, так что яПредположим, что прокси работает нормально.

wget -e use_proxy=yes -e https_proxy=proxy.mycompany.com:8000 -O test.html --no-check-certificate --post-data '' https://logging.googleapis.com/v2/entries:list

Подскажите, пожалуйста, как вызвать Logging API за прокси-сервером.

Спасибо!

...