我们使用"react-oauth2-pkce"库在我们的react应用程序中实现身份验证。身份验证在开发设置中运行得很好,然而,当我们使用npm创建其生产构建并将其部署在nginx web服务器中时,在第三方wso2身份验证提供程序中完成身份验证后,当uri被重定向到prod构建的原始react应用程序时,我们会收到以下"404未找到"nginx错误。
附言:请注意,我们已经在端口3000上托管了react应用程序,这对于nginx web服务器上的prod构建是可见的,因此它不是默认的react开发服务器,它位于端口3000上。(我们有意将其保留在端口3000,这样我们就不必一次又一次地更改重定向URI来在dev和prod构建之间切换。(
404未找到错误的屏幕截图
通过在nginx conf文件中进行如下更改来解决问题:
location / {
try_files $uri /index.html;
}
对index.html文件的直接请求工作正常,但其他请求不工作,因此为了将其他请求转发到index.html文件,我们进行了上述更改。