pdog18
V2EX  ›  Node.js

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

  •  
  •   pdog18 · Jul 19, 2022 · 7317 views
    This topic created in 1568 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    刚刚又用「 node 服务让外网访问」搜索了一下,发现在第 4 条结果的「 CNode 技术社区」的 13 楼有可以解决我的疑惑的答案。
    其他的搜索结果大多不得要领。
    Daiwf
    Daiwf
    Jul 21, 2022
    22
    昨晚还调了个接口,用 frp 内网穿透的。不过要记得改端口。云服务器这种固定端口天天被扫描。很容易被黑
    wangtian2020
    wangtian2020
    Jul 27, 2022
    23
    如果是家用路由器,在有公网 ip 的情况下,可以开启路由器的端口映射功能
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5202 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 02:57 · PVG 10:57 · LAX 18:57 · JFK 21:57
    ♥ Do have faith in what you're doing.