macOS 如何让其它机器访问自己的 http://IPAddress:8080 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yazoox
V2EX    macOS

macOS 如何让其它机器访问自己的 http://IPAddress:8080

  •  
  •   yazoox 2020-07-01 09:12:50 +08:00 7851 次点击
    这是一个创建于 1980 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题。编译了代码,启动了 node, 使用 http://localhost:8080/ 可以打开网站。

    但是,如果我想使用另外一台机器,访问该 mac 的 ipaddress 来打开这个临时的网站,怎么操作?

    1. firewall 是关闭的。
    2. preferences->sharing->Internet Sharing"这个选项是“灰”的,无法点击。右侧有提示“You cannot start internet sharing because you have not selected a port to share your connection” 可是,也没有地方让我选择 port 啊?

    谢谢!

    第 1 条附言    2020-07-01 10:06:51 +08:00
    已经解决,谢谢大家。

    解决方法:
    由于启动脚本支持指定 hostname,所以
    `yarn start --host 0.0.0.0`

    脚本实际上用 node 运行了一个 express server,express 启动时,是可以指定 hostname 的。使用 0.0.0.0 instead of localhost 就可以了。
    17 条回复    2020-07-01 23:17:14 +08:00
    dovme
        1
    dovme  
       2020-07-01 09:15:02 +08:00
    192.168.x.xxx 应该是这样吧
    dovme
        2
    dovme  
       2020-07-01 09:15:49 +08:00
    @dovme #1 同一 wifi 条件下
    march1993
        3
    march1993  
       2020-07-01 09:17:36 +08:00 via iPhone
    第二步是共享 internet 连接,相当于热点…
    yazoox
        4
    yazoox  
    OP
       2020-07-01 09:22:03 +08:00
    @dovme 我知道是通过这样的 ip address 访问啊。但是提示我打不开。好像是 connection refused 还是啥的。
    CoCoMcRee
        5
    CoCoMcRee  
       2020-07-01 09:22:58 +08:00
    yazoox
        6
    yazoox  
    OP
       2020-07-01 09:26:07 +08:00
    @CoCoMcRee 理论上是可以。但我得修改我们代码库的构建脚本,那个也不是个轻松活......
    现在我们是 `yarn start` 然后代码编译完成后,自动就启动了 http://localhost:8080 (具体启动啥,我也不清楚,估计是个 express,也得花时间研究一下,如果想替换成 anywhere 的话......)
    做前端的,你们懂的。
        7
    kosmgco  
       2020-07-01 09:29:19 +08:00
    在「其他设备」上 telnet 一下看看端口有没有开

    mac 上启动服务用 0.0.0.0:8080 试试
    Weny
        8
    Weny  
       2020-07-01 09:29:34 +08:00 via iPhone
    监听 0.0.0.0
    herbertzz
        9
    herbertzz  
       2020-07-01 09:30:08 +08:00
    在 node 项目的配置文件里, 将 localhost 改成 你自己机子的 ip 地址
    meunicorn
        10
    meunicorn  
       2020-07-01 09:43:11 +08:00 via iPhone
    ngrok 了解一下
    nutting
        11
    nutting  
       2020-07-01 09:50:20 +08:00
    局域网是可以的。检查你的应用启动绑定到什么 ip 了,0.0.0.0 就没问题
    Vegetable
        12
    Vegetable  
       2020-07-01 09:54:18 +08:00
    检查这个配置,必须是 0.0.0.0,localhost 或者 127.0.0.1 都不行。
    https://webpack.js.org/configuration/dev-server/#devserverhost
    yancy0l
        13
    yancy0l  
       2020-07-01 10:03:13 +08:00
    首先,不知道是真的绑定了 localhost 还是 127.0.0.1,应该搞清楚。我最近遇到了类似的问题,这个问题应该取决于你将 8080 的服务映射到 哪个 ip 地址上。如果真的是 配置中写的 localhost,绑定到 127.0.0.1,也许可以通过修改 hosts 文件,将 localhost 映射为一个 192.136.1.1 (具体地址) 的局域网可以访问的地址,这样,另一个连接同一个局域网的机器就能通过 访问该 IP 地址访问到 8080 的服务。原理就是之前通过 localhost 和 127.0.0.1 绑定,提供仅供本地访问的服务,现在 localhost 和 IP 地址绑定 提供对外 服务。具体就是看你的服务启动的时候 绑定到什么 IP 了。楼上说的都对
    yazoox
        14
    yazoox  
    OP
       2020-07-01 10:03:53 +08:00
    @kosmgco
    问题解决了。我们的启动脚本里面,能够指定 hostname 。按照你建议的,use 0.0.0.0 instead of localhost (这个是默认的)就行了。

    `yarn start --host 0.0.0.0`

    现在我在另外一台机器,使用 http://<mac machine ip address>:8080,就可以访问了。


    谢谢!
    goodbyennn
        15
    goodbyennn  
       2020-07-01 11:46:33 +08:00
    最简单的办法就是 python -m http.server 8080
    FurN1
        16
    FurN1  
       2020-07-01 17:02:48 +08:00 via iPhone
    @meunicorn 不都用 frp 了吗
    buffzty
        17
    buffzty  
       2020-07-01 23:17:14 +08:00
    1. 局域网 监听局域网地址 192.168.x.x 或 0.0.0.0(所有地址)
    2. 外网 路由器 nat
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5501 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 03:16 PVG 11:16 LAX 19:16 JFK 22:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86