PHP核心(六)apache专题之让局域网内的所有设备可以访问本地的虚拟站点
在前面的讲解中,都是通过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,以上就是关于让局域网内的所有设备可以访问本地的虚拟站点的讲解。
很受用,谢谢 我 是刚学这门课的,当我看到这以后,震惊了,一个程序的设计是如此的复杂,我想我也是时候奋斗了,愿所有的程序设计人员都能步入高手之列 突想起伯苓师的一句话“中国不亡有我在” 奋发图强,创造中国人的辉煌 谢谢了,我是大一的,刚刚编程入门,这篇文章对我以后的学习有很大的帮助~ 看了很受教育.非常感谢作者能够以此次面试来讨论我们编程的种种弊端.非常感谢作者对我们的忠告与提醒. ^台湾是中国不可分割的领土!!! 不错,真的不错,很受感悟,让计算机执行更少的指令完成更多的工作,才是我所愿~ 第一天来报到就看到这么好的贴值了~~~~~~~~~~~~` 谢谢,受教了!呵呵。早点看到就好了呀!! 高见,这也就是学无止尽吧,能干其实很简单,真正能干得好,干出名堂来却是相当不容易的。要不然为何中国就出不了闻名于世的软件呢?如果作为业余爱好,能写出来也许够用了,作为专业编程,路也是艰难的。 说起来我也是学计算科学与技术的。在学校时拼了老命的不让自己参加补考我做到了,但出来之后发现重要的东西都没有学到,相比非计算机专业的人来说我毫无优势,感觉自己就只会开机,关机,重启!!!所以我出来之后也没有从事这方面的工作。不过想想真是可惜了四年的光阴和我曾经的一腔热血哦~~~~