我有以下Next.js api路線用于測驗目的。
所有 4 個 axois 呼叫都在 localhost 中完美運行;但是在生產中(由 AWS EC2 托管);最后 2 次呼叫失敗,原因為504 gateway time-out。
我曾想過nginx和 AWSin-bound/out-bound設定,但如果是這樣的話,前兩個模擬 api 就不應該作業了。
我不知道為什么會這樣。或者它與那些網站的api保護有關?但是為什么它在本地主機中作業
import axios from "axios";
import { NextApiHandler } from "next";
export default const MockApi: NextApiHandler = async (req, res) => {
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);
}
};
uj5u.com熱心網友回復:
經調查,問題似乎與AWS內部策略有關,因此您無法使用AWS服務濫用特定關聯公司和某些公共API。
如果有人能夠解決問題,則此答案可能不正確。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/369688.html
標籤:节点.js nginx 亚马逊-ec2 公理 下一个.js
上一篇:Symfony 奏鳴曲包-Iphone用戶無法播放我的流式音頻檔案
下一篇:Nginxuinitcors
