V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pdog18
V2EX  ›  Node.js

请问下本地起个 node 服务如何能让远程通过 ip 访问?

  •  
  •   pdog18 · 2022-07-19 23:39:22 +08:00 · 5876 次点击
    这是一个创建于 859 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用 node / express 起了个服务,通过 127.0.0.1 / localhost 是可以访问的。

    但是我想用 「本机 ip:端口号」访问,却不能访问。

    搜索了一下,改成 0.0.0.0 ,确认防火墙是关闭的,也还是不能访问,会和 macOS 有关吗?

    23 条回复    2022-07-27 09:22:45 +08:00
    estk
        1
    estk  
       2022-07-19 23:51:02 +08:00 via Android   ❤️ 1
    和大陆的互联网有关,默认不开公网 ip ,80 端口铁定更是没有。
    不要问为什么,问就是为了人民的安全着想
    Trim21
        2
    Trim21  
       2022-07-20 00:17:46 +08:00   ❤️ 1
    你这个远程是多远,同一个局域网里的其他机器?公网上的其他机器?
    DOLLOR
        3
    DOLLOR  
       2022-07-20 00:23:52 +08:00   ❤️ 1
    是内网访问还是公网访问?
    本机有几张网卡几个 IP ?
    你用的是什么端口?
    建议提供更多信息。
    learningman
        4
    learningman  
       2022-07-20 00:29:12 +08:00 via Android   ❤️ 1
    直接搜内网穿透吧,顺便看一下 TCP/IP 的东西,了解下 NAT
    yianing
        5
    yianing  
       2022-07-20 02:29:40 +08:00 via Android   ❤️ 1
    ipv6 试试,防火墙不止本地有,你的路由器,光猫啥的也会有
    webcape233
        6
    webcape233  
       2022-07-20 03:16:29 +08:00 via iPhone   ❤️ 1
    mac 有个🔨防火墙,默认自带只防出站,本机能访问其他局域网不能访问的话可能是路由器开了 ip 隔离
    L3au
        7
    L3au  
       2022-07-20 05:19:02 +08:00   ❤️ 1
    试试 ngrok https://ngrok.com/ 内网穿透
    pytth
        8
    pytth  
       2022-07-20 05:48:55 +08:00 via iPhone   ❤️ 1
    内网穿透了解一下
    mercury233
        9
    mercury233  
       2022-07-20 06:20:40 +08:00   ❤️ 1
    是在代码的 app.listen 里,监听 127.0.0.1 就只能用 127.0.0.1 访问,监听 0.0.0.0 就能用所有 ip 访问
    qeqv
        10
    qeqv  
       2022-07-20 06:56:00 +08:00   ❤️ 1
    直接用 ipv6 就行
    SenLief
        11
    SenLief  
       2022-07-20 08:54:33 +08:00   ❤️ 1
    看看有没有 ipv6 ,没有就直接内网穿透吧。
    hex2en
        12
    hex2en  
       2022-07-20 08:58:27 +08:00   ❤️ 1
    如果是内网,可以直接访问。
    如果是外网,可以试一试 vs code 的 live share
    fiveStarLaoliang
        13
    fiveStarLaoliang  
       2022-07-20 09:50:27 +08:00   ❤️ 1
    你的 ipv4 的 ip 大概率是内网 ip ,就是这种 192.168.0.2 这种的,外网是访问不了的,需要你用内网穿透工具,把自己内网的 ip 和端口映射到公网上去,这样别人可以通过访问你的映射的公网域名和端口来访问你的内网服务
    CrispyNoodles
        14
    CrispyNoodles  
       2022-07-20 10:00:46 +08:00   ❤️ 1
    内网穿透了解一下,顺便看看 TCP/IP
    lancelock
        15
    lancelock  
       2022-07-20 10:26:16 +08:00   ❤️ 1
    要有公网 ip ,不行就内网穿透
    pdog18
        16
    pdog18  
    OP
       2022-07-20 10:48:16 +08:00
    谢谢各位! 查看了一下,我没有 ipv6 ! 内网穿透这个名词听过这么久,这次算是终于记住是个什么东西了。

    还想问问大家,如果我把服务跑在阿里云服务器,应该就不用考虑这个东西了?
    pdog18
        17
    pdog18  
    OP
       2022-07-20 10:48:40 +08:00
    @pdog18
    阿里云服务器除了常用端口(80,22,443 等)都是访问不到的,好像要 nginx 配置一下
    MarkP
        18
    MarkP  
       2022-07-20 10:51:19 +08:00   ❤️ 1
    @pdog18 #16 跑在阿里云,就不叫「本地」了。。
    pytth
        19
    pytth  
       2022-07-20 10:57:32 +08:00   ❤️ 1
    @pdog18 在服务器配置一个 node 环境,就可以跑了,服务器的 ip 是公网
    lower
        20
    lower  
       2022-07-20 10:59:49 +08:00   ❤️ 1
    @pdog18 云主机也可以在安全组里开放各种端口的。。
    pdog18
        21
    pdog18  
    OP
       2022-07-20 11:26:29 +08:00
    感谢各位! 这个问题我昨天搜索引擎找了半天也没搞明白,在这里一下子就解决了。
    我不知道我当时应该怎么搜索才能正确的找到解决办法,对自己的搜索技巧产生了严重怀疑了。。。

    刚刚又用「 node 服务让外网访问」搜索了一下,发现在第 4 条结果的「 CNode 技术社区」的 13 楼有可以解决我的疑惑的答案。
    其他的搜索结果大多不得要领。
    Daiwf
        22
    Daiwf  
       2022-07-21 09:01:02 +08:00
    昨晚还调了个接口,用 frp 内网穿透的。不过要记得改端口。云服务器这种固定端口天天被扫描。很容易被黑
    wangtian2020
        23
    wangtian2020  
       2022-07-27 09:22:45 +08:00
    如果是家用路由器,在有公网 ip 的情况下,可以开启路由器的端口映射功能
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2423 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:24 · PVG 08:24 · LAX 16:24 · JFK 19:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.