首页 > 编程语言 >node.js服务器

node.js服务器

时间:2024-03-15 16:00:13浏览次数:27  
标签:node 容器 服务 网站 js nginx 服务器

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不需要密码!

数据库解决,还是比较简单的!

网站源码启动

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即可

标签:node,容器,服务,网站,js,nginx,服务器
From: https://www.cnblogs.com/zyToJH/p/18075626

相关文章

  • 服务器反向代理的作用与实现
    目录前言一、服务器反向代理的作用1.负载均衡2.缓存控制3.安全防护4.单一入口二、服务器反向代理的实现方式 三、总结前言服务器反向代理是一种通过将客户端的请求转发给多个服务器中的一台来分担服务器负载的网络技术。本文将介绍服务器反向代理的作用、实现......
  • Write failed: Broken pipe > Couldn‘t read packet: Connection reset by peer SFTP
    如果你链接服务器的时候出现下面的提示:Writefailed:BrokenpipeCouldn’treadpacket:Connectionresetbypeer这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root,权限是750或者755。......
  • JS DOM操作(三)
    1.操作节点获取节点属性:语法getAttribute(“属性名”);varvalue=element.getAttribute("data-custom");//请注意,获取节点属性时,如果属性不存在,则会返回null2.设置节点属性:语法setAttribut(“属性名”,“属性值”);element.setAttribute("data-custom","val......
  • JS DOM操作(一)
    .#1.DOM操作分类1.1DOMcore(核心操作)document:表示整个文档,可以用于访问文档的各个部分和属性。Element:表示HTML元素,提供了访问和操作元素的方法和属性。Node:表示文档中的节点,包括元素、文本节点、注释等,提供了节点通用的方法和属性。1.2HTML-DOM获取元素:通过ID、类......
  • 腾讯云服务器Nginx反向代理的Photoprism(包括https设置)
    2024年3月15日,因为不想忘记前面关于Nginx反向代理Photoprism的内容。这里记录下,如果能帮助到点击到这篇博客的人就更好了。主要分为三个部分,第一个部分是部署Photoprism,第二个部分是Nginx反向代理,第三个部分是https设置前置条件(没有的话,就不要往下看了,或者先稍微了解下再往下看)......
  • STM32F105双路隔离型CAN总线转4G控制板 - 把CAN数据发送到TCP服务器,实现通过TCP透传
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/product/STM32F105_2CAN/index.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>......
  • fastjson1.2.24-RCE漏洞复现
    触发过程图靶场模拟1、实验环境准备攻击者kali(192.168.101.141)使用工具:marshalsec-0.0.3-SNAPSHOT-all.jarGitHub-RandomRobbieBF/marshalsec-jar:marshalsec-0.0.3-SNAPSHOT-allcompiledonX64被攻击者centos7(192.168.101.148)使用工具:dockerdocker-compose......
  • MirageJS 使用总结 vue2上亲测使用
    注:MirageJS英文文档看的头疼,且百度上都是片段比较多,本着拿来主义的思路,就把代码粘贴上,这样不仅方便自己,也能方便大家简单介绍一下他的好处及功能MirageJS是一个用于模拟服务器端数据和网络请求的JavaScript库,它可以帮助开发者在前端环境中创建假数据、定义路由和处理请求。......
  • MeterSphere接口自动化系列之JSONPath常用提取方式
    一、使用场景        针对接口返回结果,提取相应的信息,用于后续接口输入或用于执行结果断言,对应平台的后置操作、断言规则页签。        二、常用方式实例接口返回结果{"code":0,"data":{"cart":{"id":"34253627754......
  • js如何拦截全局Fetch的请求和响应
    目前,团队采用了根路径转发的方式,将接口请求转发到服务器上,实现了一定的解耦。然而,随着团队后端策略的变化,现在希望前端直接请求一个新的接口域名,而不再经过中间层的处理。在这种情况下,由于之前的代码中没有对接口请求进行统一的封装,需要考虑如何以最小的成本进行迁移。Fetc......