在前面的讲解中,都是通过127.0.0.1或者www.test.com来访问我们创建的虚拟站点。我们知道,127.0.0.1代表的是请求本机,如果换另一台电脑,即使是局域网内的一台电脑,如果使用127.0.0.1访问,那就表示是访问那台电脑,而那台电脑中是没有虚拟站点的。
并且我们虽然给虚拟站点绑定了域名,可是域名是解析到了127.0.0.1,所以和使用127.0.0.1访问是完全一样的,只不过换了个名字罢了。
我们知道,在真实的网站中,只要网站上线,任何人都可以访问这个网站,我们自己创建的站点为什么就不行呢?
那是因为,我们的站点处于内网中,外网是不能访问内网的,如果可以,那么还有什么安全可言。如果想要让外网访问内网,需要一个外网ip,这样的ip需要和网络运行商去申请办理,即专线。当然也可以使用一些内网穿透的方法来实现,但也都是需要付费的。
所以,我们目前创建的虚拟站点如果想要让外网访问就死了心吧。
我们说说如何实现在局域网内访问本地站点。
首先要知道一个原理,每一台电脑都有一个局域网ip,这个ip是路由自动分配的,我们可以在cmd中输入ipconfig查询本机的局域网ip,我这里就用vscode的控制台查询了,如下:
192.168.1.3就是我这台电脑的局域网ip,也就是说,在局域网内,这个ip指向我这个电脑。
假设我有多台电脑或手机,都是通过同一个路由器来上网,那么,其它设置只要请求这个地址:端口号,就可以请求到我们这台电脑中的应用了,当然,我们的主机还需要绑定这个ip。
如下:
<VirtualHost *:8586>
DocumentRoot "D:\wamp\PHPTutorial\WWW\test"
ServerName 192.168.1.3
DirectoryIndex php.html
<Directory "D:\wamp\PHPTutorial\WWW\test">
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>
然后重启apache。
目前我们给虚拟主机设置的端口号为8586,所以我们用另一台电脑或手机访问192.168.1.3:8586试试看。
同样访问到了默认首页。
ok,以上就是关于让局域网内的所有设备可以访问本地的虚拟站点的讲解。
|