无法使用express访问nginx上的路由



我使用React js创建了一个网站,并对Nginx进行了一些更改,将路由重写为文件,这样我就不会出现404错误,最近我尝试在上使用express,如果我为单页应用程序购买配置Nginx,请使用:位置/{try_files$uri$uri//index.html;}当我试图访问/api时,我会从我的应用程序中获得notFound页面,如果我不配置它,我可以访问我的快递服务器,但当我试图直接访问主页以外的url时,网站显示notFound by nginx

所以我正在为nginx寻找一些异常配置,我想重写所有路由到索引html,除了任何以/api/*开头的url

请救我一命:(我在网上找不到解决方案向致以诚挚的问候

虽然还不清楚你有什么样的体系结构,但我会假设React应用程序运行在某个端口上,例如3000和5000端口上的后端服务器/api

这里是一个非常基本的nginx配置示例,它将所有/api请求路由到服务器(端口5000(,其余请求路由到React应用程序。

upstream client {
server client:3000;
}
upstream api {
server api:5000;
}
server {
listen 80;
location / {
proxy_pass http://client;
// try_files $uri $uri/ /index.html; // to redirect to the index page
}
location /api {
proxy_set_header X-Forwarded-For $remote_addr;
rewrite /api/(.*) /$1 break;
proxy_pass http://api;
}    
}

最新更新