Reactjs 使用nodejs和nginx为多个react应用程序提供服务
我有一个环回应用程序,它提供API,并提供静态文件。和2个使用相同环回应用程序的React应用程序 我使用serve static和vhost提供静态文件(来自React构建文件夹)Reactjs 使用nodejs和nginx为多个react应用程序提供服务,reactjs,express,nginx,loopbackjs,Reactjs,Express,Nginx,Loopbackjs,我有一个环回应用程序,它提供API,并提供静态文件。和2个使用相同环回应用程序的React应用程序 我使用serve static和vhost提供静态文件(来自React构建文件夹) var serveSubdomainAbc = serveStatic('abc/build', { index: ['index.html'] }); var serveSubdomainXyz = serveStatic('./../../xyz-abc/build', { inde
var serveSubdomainAbc = serveStatic('abc/build', {
index: ['index.html']
});
var serveSubdomainXyz = serveStatic('./../../xyz-abc/build', {
index: ['index.html']
});
app.use(vhost('abc.example.com', serveSubdomainAbc));
app.use(vhost('xyz-abc.example.com', serveSubdomainXyz));
我还使用非常基本的设置设置了nginx服务器
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
当我直接访问应用程序的根目录时,一切正常,比如
- abc.example.com
- xyz-abc.example.com
xyz abc.example.com/ssoRedirect,则无法找到ssoRedirect,它会返回到abc.example.com的index.html并提供该文件,因此ssoRedirect无法工作。当无法找到所需的静态文件时,如何使其返回到正确的index.html。我已停止nginx,并在端口80上直接使用nodejs为应用程序提供服务,行为相同,第二个应用程序在prod Environment上仍然失败,在我的MacBook上运行良好。我最终创建了一个ssoRedirect文件夹并将index.html文件复制到其中。我还添加了一个中间件来重写req url,这似乎也运行良好。