我在这里研究了很多其他情况,但是没有一个解决方案对我有用。我会解释并放入代码。
我在Express中运行了两个应用程序的VPS。
应用程序1在http://localhost:3000
上运行
应用2正在http://localhost:9000
我的/etc/nginx/sites-available/default
是这样写的:
location / {
proxy_pass http://localhost: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;
}
location /votacao {
proxy_pass http://localhost:9000;
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;
}
来到我的mydomain.com
时,我可以毫无问题地访问第一个应用程序。但是,当我进入第二个应用程序mydomain.com/votacao
时,只看到index.html,并且未加载静态文件(CSS和JS)。
当我通过ip和端口访问App 2时,例如x.x.x.x:9000
,它运行正常。对于x.x.x.x:3000
上的应用程序1也是一样。
第二个应用程序的文件结构:
server.js
/build
/build/index.html
/build/static/css/main.css
/build/static/js/main/.js
这是第二个应用程序的Express Server的代码。
//imports
app
.use(express.static(path.join(__dirname, "/build")))
.get("/votacao", function(req, res) {
res.sendFile(path.join(__dirname, "build", "index.html"));
});
app.listen(9000);
我的index.html
上有。
文件的寻址方式类似于/static/css/main.css
。
错误是http://mydomain.comn/votacao/static/css/main.css
和所有静态文件的404。
如何使静态文件在这里工作?