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


当前回答

WebpackDevServer localhost

如果你正在使用一个在节点上运行的应用程序。你可以使用webpack作为构建工具,并使用其内置的开发服务器

您可以使用webpackdevserver从本地主机服务器启动应用程序,然后传入您选择的本地主机地址和端口。

webpack-dev-server --host 192.168.0.89 --port 3000

然后从你的iPhone上使用

http://192.168.2.89:3000

注意:你的笔记本电脑和iPhone应该在同一个网络上,你应该使用你的本地主机ip地址。 对于Mac如何找到ip地址,您可以参考Get本地ip地址在node.js

其他回答

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

如果你宁愿输入主机名而不是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/

有一个非常简单的方法来实现这一点:

将你的手机和电脑连接到同一个局域网。 windows + R,然后输入ipconfig,然后你得到你的当前ip在你的pc,它看起来像这样:192.168.XX.XX 在你的手机web浏览器中输入这个ip,就像这样:http://192.168.XX.XX:8080,它可以工作

注意:

如果这行不通的话。关掉你电脑上的杀毒软件,如果仍然不起作用,尝试关闭windows防火墙,因为这个问题与电脑防火墙有关。

本地服务器机:Linux

访问机器:iPad 13.5.1

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

我想完成与最初请求相同的事情,并在这里寻找答案,并关闭了所有防火墙和病毒防护,但都无济于事。

然后,我在微软文档中找到了以下关于IIS express的声明: “IIS express不向另一台计算机上的浏览器提供请求,使其在企业环境中更容易获得批准”。

底线-你将不得不安装IIS(不是交付的IIS express)来让你的项目在你的计算机之外被看到。

来源: http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx

希望这对那些正在发疯地关闭电脑上所有安全功能的人有所帮助。