我目前在Ubuntu Server上使用apache2,并且在apache2站点可用配置中通过Proxy Pass Configuration托管主机节点js应用程序。

我在服务器配置中添加了这一行

 ProxyPass /nodeapps http://localhost:3000


但是当我试图像这样在公共目录中提供静态文件时,

 app.use(express.static(__dirname + '/public'));


它会自动重定向而没有proxypass名称,因此当我尝试打开我的

http://server-dns/nodeapps/help


我希望得到我的/ public / help目录,但是它会自动重定向到

http://server-dns/help


所以它返回404错误

未找到

在此服务器上找不到请求的URL / help /。

最佳答案

如您在注释中指定的,似乎index.htmlsysadmin/nodejsapps/nodeapps/public/help/目录中不可用或静态路径中的问题,因为您的URL http://server-dns/help是正确的。所以交叉检查波纹管2分


  sysadmin/nodejsapps/nodeapps/public/help/index.html存在吗?
  静态使用正确的路径吗?您可能希望将path模块用作
  波纹管


var path = require('path');
app.use(express.static(path.join(__dirname, 'public')));


希望对您有帮助):

关于node.js - 在apache2服务器上的express node js中提供静态文件时,自动重定向而无需代理通过名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39695696/

10-15 00:48
查看更多