【发布时间】:2021-05-21 02:05:19
【问题描述】:
好的,所以,我已经构建了一个 React 应用程序并将其部署在 Nginx 下。所以,到目前为止一切正常,即 Nginx 通过 HTTPS 为站点提供服务,尽管在我的 React 应用程序中,我使用 react-router-dom 和我的自定义 404 页面的默认路由.. 见下文。 /* 将未处理的请求路由到我的自定义“未找到”页面。当我只在本地运行 react app 时,这整个事情都很好,即通过运行“npm run”,尽管在我将静态构建部署到我的 web 服务器后,我有 Nginx 作为反向代理,任何访问有效安全页面的尝试(登录后)或者无效的页面路由只显示 Nginx 默认的 404 页面。我的 Nginx 配置如下..
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name licenses.mydomain.como;
return 301 https://$host$request_uri;
#root /usr/share/nginx/html;
root /srv/www/licenses;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
#internal;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
const routes = [
{
path: "/",
exact: true,
isPrivate: false,
page: () => <HomePage />,
},
{
path: "/home",
exact: true,
isPrivate: false,
page: () => <HomePage />,
},
{
path: "/changerequest/",
exact: true,
isPrivate: false,
page: () => <ChangeRequestApplication />,
},
{
path: "/approvalcoderequest",
exact: true,
isPrivate: false,
page: () => <ApprovalCodeRequest />,
},
{
path: "/staffapp/",
exact: true,
isPrivate: false,
page: () => <StaffApplication />,
},
{
path: "/reports/spotsallocationspersite",
exact: true,
isPrivate: true,
menuid: 24,
page: () => <SpotsAllocationPerSite />,
},
{
path: "*",
exact: true,
isPrivate: false,
page: () => <NotFound />,
},
];
【问题讨论】: