开发者社区> 问答> 正文

我用node监听”公网ip”:443端口,启动后却无法用公网ip访问

各位大佬好,真心请教这个是什么问题,可能会有点小白。
我新建了一个实例,预装了node环境,剩下什么都没装,防火墙也没打开
image.png

linux系统我后端采用express框架,node直接监听公网ip

 // 或者服务器的公网IP和网口
const server= express();
const port = 443;
const ip = '0.0.0.0';  

server.get("/",function(req,res){
  res.send("hello word")
});

erver.listen(port, ip, () => {
  console.log(`Server is running at http://${ip}:${port}`);
});

部署后并启动

image.png

安全组策略如下:

image.png

端口检查过,没有被占用,更换端口也试过了。
ip我也换成过我的公网ip加443端口80端口
访问依然被拒绝,人在国外,但家里人也试过地址加端口号也不行,虚心请教究竟是什么问题我只是用node,全程express框架加vue。


我用内网ip再试试~~

展开
收起
夏至龙帝 2023-11-19 16:39:20 326 1
3 条回答
写回答
取消 提交回答
  • 根据您提供的信息,可能的原因是您的服务器没有正确配置防火墙规则。请按照以下步骤检查和配置防火墙规则:

    1. 登录到您的服务器。
    2. 查看当前防火墙状态,输入命令:sudo ufw status
    3. 如果防火墙处于关闭状态,请启用防火墙并允许443端口的入站连接,输入命令:sudo ufw enablesudo ufw allow 443
    4. 确保您的服务器已经安装了Nginx或Apache等Web服务器,并且已经正确配置了反向代理。例如,如果您使用的是Nginx,可以在配置文件中添加以下内容:
    location / {
        proxy_pass http://0.0.0.0:443;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    
    1. 保存配置文件并重启Web服务器。例如,如果您使用的是Nginx,可以输入命令:sudo service nginx restart
    2. 最后,尝试再次访问您的服务器,看看问题是否解决。
    2023-11-29 15:54:40
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    您好!感谢您的提问。根据您的描述,新建实例中预装了 Node.js 环境,并试图通过公网 IP 访问本地 Node.js 应用程序。然而,由于防火墙未开启,因此外部无法访问该应用程序。

    为了解决此问题,请按照以下步骤操作:

    1. 打开阿里云控制台并登录。
    2. 在左侧菜单栏中选择“安全组”选项卡。
    3. 在右侧界面中选择对应的实例安全组。
    4. 在“规则管理”部分点击“添加安全组规则”按钮。
    5. 在弹出窗口中,填写相关信息。例如,源 IP 地址设置为 0.0.0.0/0,目的端口范围设置为 443,并选择 HTTP 协议。
    6. 点击确定保存新规则。
    7. 重新启动您的 Node.js 应用程序。
    2023-11-19 22:04:13
    赞同 展开评论 打赏
  • image.png
    image.png


    当我将ip改为公网ip地址就会报错,

    2023-11-19 16:48:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
探究 Node.js 的服务端之路 立即下载
个推微服务实践 基于OpenResty 和Node.js 立即下载
沪江基于Node.js大规模应用实践 立即下载