我正在做一个移动网站,想用我的iPhone浏览器测试一下。我的Windows 7电脑和iPhone都在同一个无线网络上。如何从iPhone访问localhost ?现在我得到一个404错误。


当前回答

你可以试试ngrok.io。工作原理与localtunnel相同。 下载适合您的操作系统的应用程序。试着这样跑:

linux:

./ngrok http 8000

8000是应用程序正在运行的端口号。

windows:

 ngrok.exe http 8000

其他回答

如果你宁愿输入主机名而不是IP地址

第一选择(快速方式):

您应该能够在您的iPhone上导航到http://my-macbook-pro.local/mywebsite。参见https://stackoverflow.com/a/9304094/470749

这种方法往往是有效的,因为'。域是一个特殊的保留字。

第二选择:

访问http://xip.io/,这是一个免费的服务,非常方便。无需配置。

然后,当您浏览到http://mysite.app.192.168.1.130.xip.io(使用服务器上的浏览器或LAN上的任何设备)时,它将显示托管在192.168.1.130上的页面。

如果您在该IP上存在的机器上运行Homestead,那么浏览http://mysite.app.192.168.1.130.xip.io:44300 (URL中包含端口)会以某种方式显示Homestead Vagrant虚拟机上的页面,地址为192.168.10.10。很神奇的。

第三种选择(它不依赖于服务,灵活但更复杂,只有当你有一个带有DD-WRT的路由器时才能工作):

如果您有一个本地服务器托管多个不同的站点,您希望通过不同的主机名(通过iPhone)访问这些站点,您可以这样做。

In your OS, change the name of your computer to something short, meaningful, and easy to remember, such as "RYANDESK". In your DD-WRT router settings: In Services > Services > Static Leases, set the MAC address of your server to point to a specific IP address, such as 192.168.1.108. Set its hostname to be the same as you named your computer earlier. "Client Lease Time" can be 1440 minutes. Be sure to press Save and also Apply Settings with every change. ("Save" doesn't seem to automatically apply the settings.) If you get an error, it's probably because the GUI design of DD-WRT is misleading, and you unnecessarily pressed "Add" for Static Leases. In DHCP Server > User Domain, choose "LAN & WAN". For "LAN Domain", set it to some short string, such as your initials without any punctuation (e.g. "xyz"). Probably avoid using the word "local" since there might be conflicts. Don't use real-world domains such as "com", "org", "net", etc. In Services > Services > DNSMasq, enable DNSMasq and "Local DNS" and configure "Additional DNSMasq Options" to be something like: address=/project1.xyz/project2.xyz/192.168.1.108 (where xyz is whatever you chose in the earlier step, the IP points to the specific machine, and project1 and project2 are whatever hostname you want to point to each of those projects (such as different Nginx configs). Ensure that your HOSTS file doesn't have any entries conflicting with what we've done. If you don't know what a HOSTS file is, you're probably fine. Flush your DNS cache and release and renew your local IP. Switch into and out of Airplane Mode on iPhone to flush DNS cache there too. Now you can browse to http://ryandesk.xyz in your iPhone (or in your desktop browser), and it will resolve to your local server. So hopefully you've set up your Nginx or Apache or whatever to be listening for that hostname. https://wiseindy.com/it/how-to-access-your-pcs-using-dns-names-with-dd-wrt/ http://www.howtogeek.com/69696/how-to-access-your-machines-using-dns-names-with-dd-wrt/

如果你使用Mac,进入系统首选项>网络,使用你的IP地址而不是本地主机。您也可以使用端口号。在我的例子中,我有一个在端口1448上运行的服务器,我可以使用iPhone预览192.168.1.241:1448。

本地服务器机:Linux

访问机器:iPad 13.5.1

我了解到本地服务器的主机IP需要设置为0.0.0.0,以便其他机器访问它。执行sudo netstat -anp检查本地服务器端口。我发现它运行在127.0.0.1或localhost上,所以其他机器无法访问它。我将应用程序配置更改为在主机IP 0.0.0.0上运行。然后,我使用<internetIP>:<端口>访问本地服务器,它工作正常

从iPhone访问localhost将简单地做一个环回/尝试连接到它自己(如果它支持?)

你需要做的是找到你的桌面机器的IP(例如,如果是Windows,进入命令提示符并输入ipconfig或进入网络和共享中心并查看连接状态。

一旦你有了你的ip,只需从你的浏览器访问,例如http://192.168.0.102。

如果您正在运行防火墙,您可能需要在防火墙的入站安全中打开端口80(或您的网站正在运行的任何端口)。

注意:如果你想调试应用程序,不要忘记应用程序的端口 你的iPhone浏览器:http://192.168.0.102:3000。在本例中,3000是ReactJS使用的默认端口。

如果你不在同一个网络上,你可以使用这个叫做localtunnel的第三方工具

http://localtunnel.me/

它基本上是通过另一个服务器路由你的内容,然后你访问它。