Reactjs 使用Nginx响应路由器刷新404

Reactjs 使用Nginx响应路由器刷新404,reactjs,nginx,react-router,nginx-reverse-proxy,Reactjs,Nginx,React Router,Nginx Reverse Proxy,在我开始之前,我想说我确实找到了一些类似的方法,但解决方案不起作用 问题是:刷新react页面,或者尝试直接转到url ex:www.siteconsered.com/portfolio会给我一个404错误 我已经将Nginx设置为从端口80到3000的反向代理。React正在使用pm2服务 节点/express正在处理位置/api 位置/正在由React处理 当我添加try_文件时,我从Nginx得到一个501。我猜有一个步骤遗漏了,但我对Nginx不够熟悉,不知道那一步是什么 React不依

在我开始之前,我想说我确实找到了一些类似的方法,但解决方案不起作用

问题是:刷新react页面,或者尝试直接转到url ex:www.siteconsered.com/portfolio会给我一个404错误

我已经将Nginx设置为从端口80到3000的反向代理。React正在使用pm2服务

节点/express正在处理位置/api

位置/正在由React处理

当我添加try_文件时,我从Nginx得到一个501。我猜有一个步骤遗漏了,但我对Nginx不够熟悉,不知道那一步是什么

React不依赖于Node或Express,只依赖于Nginx。此时,它们仅用于处理联系人表单的服务器端处理

NGINX

反应

当然,如果我做错了,愚蠢,或者需要更多信息,请告诉我


谢谢

我希望我能在评论中问这个问题,但我没有代表这么做。当你说“刷新”时,你是在以下位置刷新:www.siteconsered.com/about/website还是在www.siteconsered.com/?另外,您是否可以尝试将一个额外的nginx块放入测试中,如下所示:

location /portfolio {
        proxy_pass http://localhost:3000;
        proxy_redirect     off;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
}

告诉我它是否加载了你的react应用程序?这样做将有助于证实我在这个问题上的一些怀疑

您必须在package.josn中提及主路径,然后才能创建并在package.json home URL:domain.com中设置

错误:在Nginx配置中没有错误。您使用的是react历史记录或哈希路由器,它将URL保存在react端

<HashRouter history={history}> 
   <Route path='/' component={IndexPage} exact={true} /> 
</HashRouter> ```

出于兴趣,您可以通过输入ip地址然后输入端口号来导航到您的站点。即216.58.208.174:3000?如果你可以,那么这将是你的域名的问题,如果你不能,那么它将缩小到端口转发问题。不,它不能通过IP和端口访问。主页刷新没有问题,是像www.siteensered.com/about/website这样的位置变成了404。我添加了额外的位置和同样的东西,404s感谢投票人,我现在可以发表评论了!您是否尝试添加该块并转到URL?如果是这样的话,发生了什么?我添加了额外的位置和相同的东西,404sI更改了块,因为它有一些重复的项和根,这是我不想要的。你能再试一次吗?
location /portfolio {
        proxy_pass http://localhost:3000;
        proxy_redirect     off;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
}
<HashRouter history={history}> 
   <Route path='/' component={IndexPage} exact={true} /> 
</HashRouter> ```