#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.
Этот ответ может быть неверным, если кто-то сможет разобраться в проблеме.