время ожидания 504 в aws EC2 при вызове некоторого внешнего URL api

#node.js #nginx #amazon-ec2 #axios #next.js

#node.js #nginx #amazon-ec2 #аксиос #next.js

Вопрос:

У меня есть следующий Next.js api маршрут для целей тестирования.

Все 4 вызова axois отлично работают на локальном хосте; Но когда они находятся в рабочем состоянии (размещены на AWS EC2); Последние 2 вызова завершились неудачно по причине 504 gateway time-out .

Я думал о nginx in-bound/out-bound настройке AWS, но если это так, то первые два макетных api также не должны работать.

Я не знаю, почему это происходит. Или это как-то связано с защитой api от этих веб-сайтов? Но тогда почему это работает в localhost

 import axios from "axios"; import { NextApiHandler } from "next";  export default const MockApi: NextApiHandler = async (req, res) =gt; {  try {  // mock set  // work in localhost and production  const { data: testData } = await axios.get("https://jsonplaceholder.typicode.com/todos/1");  console.log(testData);   const { data: mockData } = await axios.get("https://reqres.in/api/users?page=2");  console.log(mockData);   // some real life api  // work in localhost but failed in production with 504 gateway time-out  const { data: mockData2 } = await axios.get("https://www.target.com.au/ws-api/v1/target/products/search?category=W95362");  console.log(mockData2);   const { data } = await axios.get("https://api.nasdaq.com/api/ipo/calendar");  console.log(data);   res.status(200).send({});  } catch (err) {  res.status(403).json(err);  } };  

Ответ №1:

После расследования кажется, что проблема как-то связана с внутренними политиками AWS, поэтому вы не можете использовать сервисы AWS для злоупотребления определенными аффилированными компаниями и некоторыми общедоступными API.

Этот ответ может быть неверным, если кто-то сможет разобраться в проблеме.