【发布时间】: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