getServerSideProps在开发模式下运行良好,但在生产模式下失败,但useSWR运行良好



我的nextjs中有这个简单的代码。当我处于开发模式时,我会正确地获取数据,但当我使用vercel将其部署到生产中时;请求失败,出现错误503";错误但是,当我对useSWR做同样的操作时(客户端获取一切都很好(。

import { GetServerSideProps, NextPage } from "next";
import axios from 'axios';
type Props = {
data: any;
error: any;
};
const Home: NextPage<Props> = ({ data, error }) => {
if (error) return <div>{error}</div>;
return (
<div className="flex flex-col items-center justify-center min-h-screen py-2">
{data.map((blog: any) => (
<div key={blog._id}>
<h1>{blog.title}</h1>
</div>
))}
</div>
);
};
export default Home;
export const getServerSideProps: GetServerSideProps = async () => {
try {
const res = await axios.get(`${process.env.CLIENT_URL/api/v1/blogs/random`);
// res.data = {status: "success", data: blogs}
console.log(res.data);
return {
props: {
data: res.data.data,
},
};
} catch (err: any) {
return {
props: {
error: err.message,
},
};
}
};

有人能谈谈为什么这在生产中不起作用的问题吗?

Guy的我找到了解决方案(经过两天的战斗(。所以,基本上,当你将一些东西部署到vercel时,它会为你的网站创建一个后端服务器。这里发生的情况是,当vercel的后端服务器向我的Linux后端服务器发出请求时,由于一些安全原因,它不接受/允许这些请求(好吧,它毕竟是一台Linux服务器(。

最新更新