【问题标题】:nginx + reverse proxy + react router - routing do not worknginx + 反向代理 + 反应路由器 - 路由不起作用
【发布时间】:2021-05-07 08:56:33
【问题描述】:

我对 nginx 和配置一窍不通,所以想请教一下。

目前我有这个配置:

server { 
  listen 80; 
  server_name domain.com; 

  location / {
    proxy_pass http://somehost:10010/;
    proxy_http_version 1.1;
  }
}

使用 react-router 运行 Create React App。

网站的当前行为: 运行 domain.com 时,它可以正确打开主页,应用程序正常运行。

当尝试运行 domain.com/some-route(我已经正确配置了 react 路由)时,它显示 nginx 404 页面。

如何将任何路由重定向到主域,但将 domain.com/some-route 保留在 URL 中?

我尝试了 try_files,但它对我不起作用...

【问题讨论】:

  • @AjeetShah 感谢您的回答。它看起来很有希望,但问题是由于代理,我无法重定向到 index.html。网络显示我没有 index.html 文件,它的名称不同。它被称为服务器名称,例如:server.domain.com,而不是 index.html。所以对 /index.html 执行 try_files 会抛出 500。(重定向循环?idk)
  • 您正在使用 nginx 代理。所以,我认为你应该在为你的 React Build 服务的服务器上执行上述(404 --> index.html),即处理http://somehost:10010/的服务器。
  • 不确定,但您可能还需要添加更多位置并进行代理传递。 this 方向的东西。

标签: reactjs nginx reverse-proxy react-router-dom


【解决方案1】:

我的问题的答案比我想的要简单... 我的实例上有两个 nginx:

  • 一个在服务器上
  • 由 docker 在容器内创建的一个

我必须在构建中创建配置,然后使用 docker 将其移动到容器中。

一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 2017-09-17
    • 2015-11-25
    • 2017-02-24
    • 2019-11-14
    • 2021-12-21
    • 2019-01-19
    相关资源
    最近更新 更多