我想在NodeJS上创建一个简单的网站。例如,它有两个文件(app.js - 主应用程序文件)和路由器,js(一个url文件)。我想知道 - 如果有人可以访问mydomain.com/router.js以获取我的应用程序的源代码吗?我问'例如在PHP中你不能只访问php,因为你知道服务器只是给你这个PHP文件的工作结果,但不是文件本身。那么,如何使我的nodejs-app对公共访问不可见?谢谢!
答案 0 :(得分:0)
这取决于您如何使用Node.js以及您在其前面使用的Web服务器。与作为CGI运行的PHP或作为Apache中的模块不同,节点和节点应用程序本身是服务器。 如果您的网络服务器上显示了您的节点源目录,那么您在问题中提供的网址很可能会导致您的源代码被提供。即使您使用Apache并代理节点,通常也不会涉及输出过滤器。而是将请求传递给后端节点服务器,后者解释它们。
答案 1 :(得分:0)
我确保Node.js的所有文件永远不会在另一个Web服务器(如Apache)提供的路径中。这样,事故来源几乎没有危险。
我的节点程序和文件在/ var / nodejs中包含Node中每个应用程序的子文件夹。当然,默认情况下,除非你告诉它,否则Node不会提供任何服务。
在我的Apache配置的根目录中,我确保所有文件夹都是安全的,这样我就明确必须在任何文件夹结构上启用服务,即使在我用于所有Apache站点的/ var / www文件夹下也是如此。
只要您将文件夹分开,您就可以使用Node和Apache的默认设置。此外,Node不会意外地提供源代码,您必须设置一个节点服务器,将该文件作为文本读取并将其写入http流。