从另一台计算机访问虚拟主机

Posted

技术标签:

【中文标题】从另一台计算机访问虚拟主机【英文标题】:virtual host access from another computer 【发布时间】:2018-10-13 08:21:32 【问题描述】:

我正在一个使用 wamp 的 php 项目中工作。我在我的公共服务器中安装了这些 wamp,所以直到现在当我点击 204.XXX.XX.XX/projectname 时,我可以从我大学内的任何计算机访问。现在我不想显示这个 localhost 主屏幕,所以我尝试了虚拟主机配置。

C:\Windows\System32\drivers\etc\hosts 文件

I added 
204.XXX.XX.XX   api.local   #api

httpd-vhosts.conf

<VirtualHost *:80>
  ServerName api.local
  ServerAlias api.local
  DocumentRoot "c:/wamp64/www/api"
  <Directory "c:/wamp64/www/api/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

我已经启用了虚拟主机。

现在我无法从其他计算机访问此 api.local 项目。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

原因是另一台计算机不知道在哪里可以找到api.local。浏览器将在 DNS 服务器中查找已注册以在 OTHER PC 上使用的域名,但显然找不到。

因此,当您输入api.local 时,其他PC 需要知道要访问的IP 地址。您可以通过多种方式做到这一点。

如果您的 Uni 技术人员允许您将此域名添加到他们的 DNS 服务器,这是最好的方法。

但如果他们不允许这样做,那么您将不得不像这样在 OTHER PC 上编辑 HOSTS 文件

204.xxx.xxx.xxx api.local

现在,这台 PC 将知道在哪里可以找到您的网站。但是,HOSTS 文件通常受到很好的保护,您需要管理员权限才能更改它,而您的管理员可能不允许这样做。

另一种方法是让站点在不同的端口上可用,然后您可以使用 WAMPServer PC ip 地址和端口号像这样访问您的站点

Listen 8000
<VirtualHost *:8000>
  ServerName api.local
  ServerAlias api.local
  DocumentRoot "c:/wamp64/www/api"
  <Directory "c:/wamp64/www/api/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

现在使用204.xxx.xxx.xxx:8000 作为站点地址,您应该可以访问您的站点

【讨论】:

感谢您的评论。我尝试了第二种方法。但我无法访问该文件夹。 啊,是的,hosts 文件通常受到保护,不会被随意访问。看起来方法 3 是您唯一的选择 什么是方法3 使用另一个端口号

以上是关于从另一台计算机访问虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

从另一台电脑 xampp 访问虚拟主机

如何从另一台计算机连接到JavaDB?

如何从另一台计算机访问我的数据库 mysql

从另一个网络上的另一台计算机访问 db 时出现错误 #1045

如何从其他计算机访问我的本地主机服务器?

如何实现一台计算机与另一台计算机中虚拟机Linux实现xwindow连接