Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型, [1]让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。简单来说,就是让原本运行在客户端的Javascript脚本能在服务器运行,构建一个网站。最近取证练习中遇到了node.js的网站,一开始并不知道如何下手,到后来的渐渐清晰起来,所以对node.js网站做个总结
拿到的网站源码
后台数据库
一般重构网站从数据库开始
这里使用的是mongodb
直接1过滤27017的mongodb端口号,可以发现服务器中确实存在mongo的服务,只是在docker容器中
利用navicat等可视化工具实现mongodb的连接,注意MongoDB不需要密码!
数据库解决,还是比较简单的!
网站源码启动
重要的配置文件config.js
记录了网站的有关信息,包括启动端口,数据库等等!
node.js的网站内置http服务,不需要nginx、apache等web服务器进行代理,但也可以使用!
我们启动docker服务后可以发现有两个运行的容器,一个是,mongodb的数据库容器,另一个就是node.js的网站容器,这里发现网站使用8000端口,再通过容器的端口映射到宿主机的80端口
当我们外部需要访问网站的页面的时候,只需要相对应的服务器ip+80端口即可,不需要启动像nginx的服务软件
这里有个小心思,出题人故意在服务器上安装了nginx,其实并不是作为一个网站的代理功能,让我误以为网站是通过nginx服务启动的。
通过find /的命令深度搜索nginx的配置文件,发现不但宿主机上存在nginx服务,docker容器内还有一个nginx服务,其实这些都是不需要的
打开最后一个配置文件
发现定义了一个网站重定向,但并不是指向我们的node.js网站的
我们再排除docker容器内的nginx服务
发现该容器并没有进行端口映射,相当于无效的容器!
所以,该node.js网站使用node.js内置的http服务与客户端连接,我们直接访问80即可
__EOF__
本文作者:Pres1X
本文链接:https://www.cnblogs.com/zyToJH/p/18075626.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!