找回密码
 立即注册
查看: 474|回复: 0

[linux] 如何实现远程公共网络下访问Windows Node.js服务端

[复制链接]

224

主题

0

回帖

773

积分

高级会员

积分
773
发表于 2024-6-24 12:33:57 | 显示全部楼层 |阅读模式
本帖最后由 御坂主机 于 2024-7-3 18:18 编辑

1. 引言
在开发和部署Node.js应用程序时,常常需要在远程公共网络下访问windows主机上的服务端。本文将详细介绍如何配置和实现这一过程,包括安装Node.js、设置防火墙规则、配置端口转发以及使用域名访问服务。

2. 环境准备
在开始之前,需要准备以下环境:

- 一台运行Windows操作系统的计算机
- 已安装的Node.js
- 访问该Windows计算机的权限

3. 安装Node.js
首先需要在Windows计算机上安装Node.js。如果尚未安装,可以通过以下步骤进行安装:

3.1 下载Node.js安装包
访问Node.js官网 (https://nodejs.org/) 下载适用于Windows的最新LTS版本的安装包。

3.2 安装Node.js
运行下载的安装包,按照提示完成安装过程。安装完成后,可以通过以下命令验证是否安装成功:

  1. node -v
  2. npm -v
复制代码


4. 编写简单的Node.js服务
为了测试远程访问,编写一个简单的Node.js服务端。创建一个名为server.js的文件,内容如下:

  1. const http = require('http');
  2. const hostname = '0.0.0.0';
  3. const port = 3000;

  4. const server = http.createServer((req, res) => {
  5.     res.statusCode = 200;
  6.     res.setHeader('Content-Type', 'text/plain');
  7.     res.end('Hello, world!\n');
  8. });

  9. server.listen(port, hostname, () => {
  10.     console.log(`Server running at http://${hostname}:${port}/`);
  11. });
复制代码


在命令行中运行以下命令启动服务:

  1. node server.js
复制代码


5. 配置防火墙
为了允许外部网络访问Node.js服务,需要在Windows防火墙中开放相应的端口(本例中为3000端口)。

5.1 打开防火墙设置
进入“控制面板” -> “系统和安全” -> “Windows Defender 防火墙”,然后点击“高级设置”。

5.2 添加入站规则
在“高级安全 Windows Defender 防火墙”窗口中,选择“入站规则”,然后点击“新建规则...”。

选择“端口”规则类型,点击“下一步”。

选择“TCP”协议,并在“特定本地端口”中输入3000,点击“下一步”。

选择“允许连接”,点击“下一步”。

根据需要选择规则应用的网络类型(域、专用、公用),点击“下一步”。

为规则命名,例如“Node.js 服务端口”,点击“完成”。

6. 配置路由器端口转发
如果Windows计算机位于局域网内,需要在路由器上配置端口转发,将外部访问请求转发到内部计算机。

6.1 登录路由器管理界面
通过浏览器访问路由器的管理界面,通常为http://192.168.1.1或http://192.168.0.1,根据提示登录。

6.2 配置端口转发
找到“端口转发”或“虚拟服务器”设置页面,添加一条新的端口转发规则:

外部端口:3000
内部IP地址:Windows计算机的局域网IP地址
内部端口:3000
协议:TCP

保存设置并重启路由器。

7. 使用域名访问服务
如果希望通过域名而非IP地址访问服务,可以使用动态DNS服务将域名指向当前的公共IP地址。

7.1 注册动态DNS服务
在提供动态DNS服务的网站上注册一个账户并创建一个域名,例如:example.ddns.net

7.2 配置动态DNS客户端
在路由器或Windows计算机上配置动态DNS客户端,将当前的公共IP地址更新到动态DNS服务。

7.3 访问Node.js服务
配置完成后,可以通过http://example.ddns.net:3000访问Node.js服务。

8. 结论
通过以上步骤,您可以在远程公共网络下访问Windows主机上的Node.js服务端。本文介绍了从安装Node.js、编写服务端代码、配置防火墙和路由器端口转发到使用域名访问的完整过程。希望这些内容能帮助您顺利实现远程访问Node.js服务。






------------------------------------------------------------------------------------------------------------------------------------------

========  御 坂 主 机  ========

>> VPS主机 服务器 前沿资讯 行业发布 技术杂谈 <<

>> 推广/合作/找我玩  TG号 : @Misaka_Offical <<

-------------------------------------------------------------------------------------------------------------------------------------------


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-5 02:51 , Processed in 0.092920 second(s), 24 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表