如何使用内网穿透实现远程公网访问windows node.js的服务端

news2024/11/20 13:36:38

使用Nodejs搭建简单的web网页并实现公网访问

前言

Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架。 Node.js自带运行时环境可在Javascript脚本的基础上可以解释和执行(这类似于JVM的Java字节码)。这个运行时允许在浏览器以外的任何机器上执行JavaScript代码。由于这种运行时在Node.js上,所以JavaScript现在可以在服务器上并执行。

Node.js 大部分基本模块都用 JavaScript 语言编写。在 Node.js 出现之前,JavaScript 通常作为客户端程序设计语言使用,以JavaScript 写出的程序常在用户的浏览器上运行。Node.js 的出现使 JavaScript 也能用于服务端编程。Node.js 含有一系列内置模块,使得程序可以脱离 Apache HTTP Server 或 IIS,作为独立服务器运,下面将介绍如何简单几步使用Cpolar内网穿透实现远程公共网络下访问windows node.js的服务端。

1. 安装Node.js环境

官网下载node.js,我们选择64位一键安装

https://nodejs.org/zh-cn/download/

image-20230302141011787

安装好后我们打开cmd,输入命令有正常出来版本号,表示安装成功,一键安装版,默认会配置环境变量。

node -v

image-20230302150424377

2. 创建Node.js应用

在vscode控制台输入命令【注意需要进入到相应的文件目录下执行命令】

**步骤 1:**导入所需的包

使用require指令来加载 HTTP 模块。

var http = require("http")

**步骤 2:**使用http.createServer方法创建HTTP服务器。通过参数函数请求并响应。编写示例实现返回“Hello World”。服务器在8081端口监听。

http.createServer(function (request, response) {
   // HTTP Status: 200 : OK
   // Content Type: text/plain
   response.writeHead(200, {'Content-Type': 'text/plain'});
   // send the response body as "Hello World"
   response.end('Hello World\n');
}).listen(8081);
// console will print the message
console.log('Server running at http://127.0.0.1:8081/');

步骤 3: 创建一个 js 文件 helloworld.js 在 **D:>**Nodewang.

File: helloworld.js

var http = require("http")
http.createServer(function (request, response) {  
   response.writeHead(200, {'Content-Type': 'text/plain'});  
   response.end('Hello World\n');
}).listen(8081);
console.log('Server running at http://127.0.0.1:8081/');

现在运行 helloworld.js 看到结果:

D:\Nodewang\hello1>node helloworld.js

验证输出,服务器应用已经启动!

Server running at http://127.0.0.1:8081/

image-20231109162434923

浏览器访问Node.js服务

打开浏览器,在地址栏中输入:http://127.0.0.1:8081/ 在浏览器中,看看下面的结果。

image-20231109155239481

3. 安装Cpolar内网穿透实现公网访问Nodejs服务

这里我们使用[cpolar](cpolar - 安全的内网穿透工具)来进行Nodejs的内网穿透,支持http/https/tcp协议,不限制流量,无需公网IP,也不用设置路由器,使用简单。

3.1 注册cpolar账号

进入cpolar官网,点击右上角的免费注册,使用邮箱免费注册一个cpolar账号并登录

cpolar官网地址:https://www.cpolar.com/

20221117173301

3.2 下载cpolar客户端

登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)

20221117173307

3.3 创建隧道映射本地端口

cpolar安装成功后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录。

image-20231109160147636

点击左侧仪表盘的隧道管理——创建隧道,创建一个指向本地3000端口的http隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:8081
  • 域名类型:免费选择随机域名
  • 地区:选择China vip

点击创建

image-20231109160513809

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,两种方式都可以访问!

image-20231109160613966

打开浏览器,使用cpolar https公网地址访问,可以看到,访问成功,这样一个远程或者任意设备浏览器访问的公网地址就设置好了,新地址公网访问Nodejs服务。

image-20231109160802071

4. 固定公网远程地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网后台,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20231109161430804

保留成功后复制保留的二级子域名地址

image-20231109161451496

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20231109161245790

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新

image-20231109161530861

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称

image-20231109161703328

然后使用固定http地址打开浏览器访问

image-20231109161741676

访问成功,现在这个公网地址是固定的了,不会随机变化。成功通过cpolar内网穿透,实现在外远程访问nodejs服务,无需公网IP ,也不用设置路由器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1204020.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

达索系统3DEXPERIENCE WORKS 2024流体仿真功能增强

设计工作中,网格划分和设计验证十分重要,它可以方便我们把复杂组件简单化处理,从而提升工作效率。 轻松应对,精准划分 在优化设计以获得更好的空气动力学性能时,需要了解空气在其周围产生的流动方式。达索系统3DEXPE…

真心建议测试工程师学完Pytest框架实战,跳槽必备,学完能涨薪5k

【文章末尾给大家留下了大量的福利】 应用场景: pytest 框架可以解决我们多个测试脚本一起执行的问题。 它提供了测试用例的详细失败信息,使得开发者可以快速准确地改正问题。它兼容最新版本的 Python。它还兼容 unittest、doctest 和 nose&#xff0…

【03】Istio Gateway示例配置

3.1 开放kiali至集群外部 首先将istio-inressateway暴露集群外部; 在node02的ens33网卡上面有多余的ip地址,将该地址绑定在igressgateway的svc 上面。 kubectl edit svc istio-ingressgateway -n istio-system定义kiali的ingress gateway的资源配置清单 apiVersion:…

JavaEE进阶学习:Spring核心和设计思想

Spring 是什么 我们通常所说的 Spring 指的是 Spring Framework(Spring 框架),它是⼀个开源框架,有着活跃而庞大的社区,这就是它之所以能长久不衰的原因。Spring 支持广泛的应用场景,它可以让 Java 企业级…

Centos8上部署Zabbix5.0

1.关闭Selinux及防火墙,避免Web页面无法访问。 setenforce 0 vim /etc/selinux/config 修改“SELINUX”等号后的内容为disabled SELINUXdisabled\\关闭并关闭开机自启 systemctl stop firewalld systemctl disable firewalld 2.配置Centos8本地yum源。 mkdir /mn…

Element-Ui el-table 动态添加行

一、在项目需要使用 这个需求主要是在项目中需要用到 1.点击新增按钮,可以实现新增行。 2.在每个列里面可以进行输入。 3.可以删除新增的行,包括数据。 二、HTML代码 1.主要是循环每一个列,而且这些列都是动态,根据父组件传过来…

MAC在Linux上上传本地文件压缩包(tomcat)解决方法(炒鸡详细)

要将文件压缩包上传到Linux云服务器,并在服务器上解压打开,你可以使用以下步骤: 在本地的Mac上,将要上传的文件或文件夹压缩成一个压缩包(如zip或tar.gz格式)。 使用SSH连接到Linux云服务器。你可以使用Te…

如何制作一个有吸引力的电商小程序

随着互联网的快速发展,电商行业也在不断壮大,越来越多的商家开始进入电商领域。在这个竞争激烈的市场中,一个有吸引力的电商小程序能够为商家带来巨大的优势。那么,如何制作一个有吸引力的电商小程序呢?下面我们将以乔…

YOLO目标检测——海洋目标检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用:海洋监管、海洋资源开发、海洋科学研究数据集说明:海洋目标检测数据集,真实场景的高质量图片数据,数据场景丰富,含有“金属”、“未知”、“橡胶”、“平台”、“塑料”、“木材”、“布”、“纸张”、“…

JavaScript_动态表格,实现全选,全不选,反选功能,点击第一个复选框,获取所有的checkbox,给所有tr绑定鼠标移到元素之上和移出元素事件。

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>表格全选、全不选&#xff0c;反选</title><style>table{border: 1px solid;width: 500px;margin-left: 30%;}td,th{text-align: center;b…

基于Python美化图片亮度和噪点

支持添加噪点类型包括&#xff1a;添加高斯噪点、添加椒盐噪点、添加波动噪点、添加泊松噪点、添加周期性噪点、添加斑点噪点、添加相位噪点&#xff0c;还提供清除噪点的功能。 我们先看一下实测效果&#xff1a;&#xff08;test.jpg为原图&#xff0c;new.jpg为添加后的图片…

Oracle 11g安装教程

下载并安装Oracle数据库 首先&#xff0c;需要到Oracle官方网站下载Oracle数据库&#xff0c;在这里我们将下载Oracle 11g第2版的Microsoft Windows(x64)版本。由于安装文件过大&#xff0c;可以分两个文件下载或一次性下载&#xff0c;如下图所示 下载完成后&#xff0c;将下…

找工作在哪个app找比较真实可靠

吉鹿力招聘网是一款找工作比较真实靠谱的app。吉鹿力招聘网是一个新兴的人脉社交招聘平台&#xff0c;靠谱而且需求明确&#xff0c;可以依靠自己或者身边朋友推荐。在吉鹿力招聘网上可以有很多前辈的职场分享和行业八卦&#xff0c;对于刚毕业的大学生而言&#xff0c;很有参考…

Nginx的安装

Nginx的安装 Windows下Nginx的安装 1、下载nginx 下载稳定版本: http://nginx.org/en/download.html 直接下载 nginx-1.20.0.zip : http://nginx.org/download/nginx-1.20.0.zip 下载后解压&#xff0c;解压后如下&#xff1a; 2、启动Nginx 有很多种方法启动nginx (…

Python实现WOA智能鲸鱼优化算法优化卷积神经网络回归模型(CNN回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…

网络运维Day12

文章目录 yum概述部署阿里镜像源yum基本使用 NFS网络文件系统NFS共享概述部署NFS服务端部署NFS客户端 Tomcat服务实验拓扑安装Tomcat启动服务客户端&#xff08;真机&#xff09;浏览访问页面测试 Tomcat虚拟主机NGINX服务web服务器对比NGINX简介实验拓扑虚拟机A源码编译安装NG…

【08】DestinationRule 高级配置功能

6.2 loadbalancer 定义demoapp v1.0和demoapp v1.1版本和subset的dr规则。参考weight中定义&#xff1b; 定义loadbalance在DestinationRule上定义规则 apiVersion: networking.istio.io/v1beta1 kind: DestinationRule metadata:name: demoapp spec:host: demoapptrafficPoli…

堆排序(小根堆模板)

输入一个长度为 n 的整数数列&#xff0c;从小到大输出前 m 小的数。 输入格式 第一行包含整数 n 和 m。 第二行包含 n 个整数&#xff0c;表示整数数列。 输出格式 共一行&#xff0c;包含 m 个整数&#xff0c;表示整数数列中前 m 小的数。 数据范围 1≤m≤n≤10^5&am…

找工作什么平台最可靠

吉鹿力招聘网是最可靠的找工作平台。可以直接和HR沟通岗位情况&#xff0c;方便快捷。同时&#xff0c;吉鹿力招聘网还有一些其他功能&#xff0c;比如可以找到更精准的人才&#xff0c;以及专业的招聘网站&#xff0c;可以帮助求职者找到合适的职位。吉鹿力招聘网还有一个特点…

项目应用多数据源动态切换(动态切换数据库连接)

文章目录 前言准备阶段具体配置功能展示注解方式切换数据源代码方式切换数据源优化方式 动态添加删除数据源事务问题参考文章 前言 最近公司的权限项目要实现多租户的功能&#xff0c;于是就要做数据隔离以确保每个租户的数据的安全性&#xff0c;但是项目中也要动态的提供能够…