当前位置: 首页 > 知识库问答 >
问题:

无法使用快递访问nginx上的路由

万俟丁雷
2023-03-14

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

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

请救我一命:)我在网上找不到解决办法

共有1个答案

齐承运
2023-03-14

虽然不清楚您拥有什么样的体系结构,但我将假设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;
    }    
}
 类似资料:
  • 谢谢大家 我的代码:

  • nginx服务器本身可以访问 但是代理的地址无法访问 查看服务器中的nginx是正常启动的,且防火墙是关闭的 nginx的配置文件: 求解决思路或方法!

  • 我尝试将nginx配置为动态处理所有/{{app}}/query请求,以访问laravel应用程序,如下所示: 目前,nginx将我的请求路由到正确的目录和文件。例如: ...路线: 我还可以回显var_export($_GET)并查看该查询: 但拉拉维尔·艾尔维斯说: 但是为什么呢? 路线看起来像这样: php artisan路由:列表返回: 我的Laravel版本是5.2.33我使用Ubunt

  • 我想访问项目“\src\main\resources”的资源形式,但由于任何原因,我只能访问目标类。这是我的代码: 这里是我的Project Dir: 问题是,即使我删除了目标/类中的所有文件并运行代码,编译器也会将文件从“src/main/ressource”复制到“目标/类”中并从那里读取它们。

  • 我想公开我的系统,以便通过ssh进行访问。 运行此

  • 我正在努力理解我的错误在哪里。我看了各种答案并尝试了补救措施,结果发现他们的解决方案并没有纠正我的问题。我已经将所有内容剥离到最基本的部分,看看是否可以得到一个基本的PHP索引。php来展示自己。 以下是我试图在核心实现的目标: 我有docker compose站在1个网络上,2个服务连接到网络上。一个服务是PHP-FPM,另一个是为PHP-FPM服务的nginx。每次我站起来,不管我如何配置它,