我从没想过这会是Node.js和Express的问题,但是我疯狂地想到要在浏览器中键入我的Node.js Express项目中其中一个源文件的位置 - 类似于: / p>
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愉快地从文件系统提供文件的唯一地方。
有什么想法吗?
答案 0 :(得分:10)
根据您发布的内容,您输入的网址实际上就像您输入的网址一样。 Apache / nginx / ...并且您确实将节点应用程序放在文档根目录中。在这个(以及任何类似的)案例中答案很简单:
您从不将任何源代码文件放在文档根目录或其他HTTP可访问文件夹中。在您的情况下,/home/prod/server/app/public
应该只包含客户端内容(HTML,CSS,图形,(缩小)客户端JS),并且nginx不应该在此文件夹上有任何内容作为其文档根目录。