【发布时间】:2012-11-30 17:51:33
【问题描述】:
我从没想过这会是 Node.js 和 Express 的问题,但一时兴起,我决定在浏览器中输入我的 Node.js Express 项目中一个源文件的位置 - 类似于:
http://www.mywebsite.com/mynodejsapp/app.js
令我极度恐惧,我的应用程序的源代码立即弹出,公开供所有人查看。
那么,除此之外:如何在 Node.js / Express 中阻止它?
我的设置代码非常简单:
var app = express();
app.configure(function() {
app.use(express.static('/home/prod/server/app/public'));
});
app.listen(8888);
澄清一下,这就是我的文件夹结构:
/home/prod/server//home/prod/server/app.js/home/prod/server/public/
在/public 下打算供公众访问的各种文件。我所有的服务器源代码都位于/server/ 下,我对 Express 的静态文件夹配置的理解是,静态文件夹是 Express 愉快地从文件系统中提供文件的唯一位置。
有什么想法吗?
【问题讨论】:
-
您的应用正在监听 :8888 而不是 :80 - 您发布的网址是否正确?您是否通过 Apache 或其他网络服务器代理 express 应用程序?
-
Nginx 代理运行在 80 端口,将所有流量转发到 8888
-
使用静态公用文件夹。