我目前在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.html
在sysadmin/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/