首页 文章

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

提问于
浏览
0

我使用React js创建了一个网站,我对Nginx进行了一些更改以重写路由到文件所以我不会得到404错误,最近我尝试使用快递,如果我为单页应用程序配置nginx使用:location / {try_files $ uri $ uri / /index.html;当我试图达到/ api时,我将从我的应用程序获取NotFound页面,如果我不配置它我可以访问我的快速服务器但是当我尝试访问除主页之外的URL时,网站显示notFound由nginx直接,

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

请保存我的生活:)我无法找到互联网上的解决方案亲切的问候

1 回答

  • 0

    虽然不清楚你有什么样的架构,但我会假设React应用程序在某个端口上运行,例如端口5000上的3000和后端服务器 /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;
        }    
    }
    

相关问题