如何允许任何设备(例如iPhone)通过WLAN连接到我的Mac的本地主机服务器?
在我的Mac上,我正在运行一个“Hello World”HTTP Node.js服务器,该服务器在http://localhost:1337
成功提供Safari打开的页面。并且,在终端输出ipconfig getifaddr en1
中运行192.168.1.9
。
但是,Safari,iPhone和iPhone Mac在尝试打开http://192.168.1.9:1337
时显示“Safari无法连接到服务器”。
我认为这不应该涉及port forwarding,因为我只希望HTTP服务器是私有的,而不是公开的。
相关:
答案 0 :(得分:46)
我遇到了同样的问题。我在Mac上关闭了我的WI-FI,然后再打开它,解决了这个问题。点击设置>关闭WI-FI。
我通过在iPhone上访问Safari并输入我的主机名或IP地址来测试它。例如:
http://<name>.local
或http://10.0.1.5
答案 1 :(得分:27)
我只能使用http://name.local:1337
访问我的iphone。您必须添加“.local”您可以在系统偏好设置/共享/“计算机名称”下找到您的计算机名称。
答案 2 :(得分:26)
让您的服务器听取192.168.1.9:1337
,而不是localhost:1337
,即127.0.0.1:1337
。
答案 3 :(得分:14)
尝试启用互联网共享:
打开系统偏好设置 - &gt;共享。
检查Internet共享以将其打开,它将提示您确认您的操作,选择确定。
如果您的iPhone使用USB连接,则会在右侧的“共享您的连接”列表中检查iPhone USB
在此之后,尝试使用wifi上的macs ip访问本地服务器。
答案 4 :(得分:7)
我的问题是一样的,但解决方案与更改防火墙设置有关。事实证明,节点设置为阻止传入流量。我知道有些事情发生了,因为我曾经能够通过手机访问我的localhost服务器。
转到系统偏好设置 - &gt; 安全&amp;隐私 - &gt; 防火墙 - &gt; 防火墙选项,然后向下滚动,直到找到 node ,并确保将节点的设置设置为 允许传入连接
更改设置后,我可以通过转到http://192.168.1.11:3000
到达Mac上运行的localhost服务器(端口3000)答案 5 :(得分:5)
我解决了类似的问题。
http://<Mac ip>:<your customer server port>
答案 6 :(得分:4)
MacOS Sierra用户可以通过转到System Preferences > Sharing
并在计算机名称文本输入下方查看,找到自动生成的虚荣URL。要访问它,请在iPhone上通过与计算机相同的Wi-Fi连接输入此URL以及您的端口号(例如your-name.local:8000)。
答案 7 :(得分:3)
我建议使用计算机的名称,例如http://mymac:1337/
。在没有任何配置的情况下为我工作完美,我不必关心因DHCP而改变IP地址。
答案 8 :(得分:3)
确保你的手机和mac机都连接到同一个wifi,你很高兴你的http://<machine-name>.local
答案 9 :(得分:2)
发布后我跟随moeamaya的回答,但需要稍微修改它才能看到我在Sites目录中的工作。
http://[name].local.~[username]/
[name] 已如上所述(系统偏好设置/分享/&#34;计算机名称&#34;)
[用户名] 位于:
/etc/apache2/users/username.conf
希望这有帮助!
答案 10 :(得分:1)
尝试过此页面上的所有内容,但是http://<name>.local:<PORT>
仅在我退出并重新启动Safari之后可以在iPhone上使用...
答案 11 :(得分:0)
通过USB将iPhone连接到Mac。
转到“网络实用程序”(cmd + space,然后键入“网络实用程序”)
转到“信息”标签
单击显示为“ Wi-Fi”的下拉菜单,然后选择“ iPhone USB”,如下所示:
您将找到一个IP地址,例如“ xxx.xxx.xx.xx”或类似名称。在iPhone上打开Safari浏览器,然后输入IP_address:port_number
例如:169.254.72.86:3000
[注意:如果IP地址字段为空,请确保您的iPhone通过USB连接,退出网络实用程序,再次打开它并检查IP地址。]
答案 12 :(得分:0)
始终使用网络设置中显示的IP。当您更改位置并使用其他无线连接时,它会更改。
以我的情况为例: 10.0.0.5
答案 13 :(得分:-1)
另外,请确保服务器正在监听您的移动设备!例如,默认情况下,jekyll仅回答主机发出的请求。这解决了我的问题:
Connect to a locally built Jekyll Server using mobile devices in the LAN