1

我想知道是否有人可以帮助我使用 Apache 定义一个新的本地 VirtualHost。

目标是拥有一个只能从本地网络查看的站点(隐藏在防火墙后面)。现在我已经安装了 Webmin,它在 transaction:10000 上运行。我试图让另一个站点在事务:7000 上运行。

以下不起作用:

DocumentRoot /var/path

有一个更好的方法吗?我是 Apache 的新手,并试图解决这个问题。

摘要:需要本地 /var/path 目录才能在 80 以外的端口上运行,仅用于本地访问。

4

1 回答 1

1

我假设您不知道 Apache 虚拟主机代码。我将向您展示如何使用它。如果这对您没有帮助,请不要犹豫,回复我。
您必须将代码放在您的 HTTPD.CONF 中,该代码可以在 conf 文件夹中找到。如果您的文件名为 wwwroot,只需更改下面代码中的名称,但不要更改文件夹的名称!!!

NameVirtualHost 111.22.33.44
<VirtualHost *:7000>
ServerName www.domain.tld
ServerPath /domain
DocumentRoot /htdocs/domain
</VirtualHost>

这是什么意思?这意味着对任何以“/domain”开头的 URI 的请求都将从虚拟主机 www.domain.tld 提供。这意味着所有客户端都可以作为 domain.tld/domain/ 访问页面,尽管发送 Host: 标头的客户端也可以作为 domain.tld/ 访问它。

为了完成这项工作,请在您的主要虚拟主机页面上放置一个指向http://www.domain.tld/domain/的链接。然后,在虚拟主机的页面中,确保使用纯粹的相对链接(例如,“file.html”或“../icons/image.gif”)或包含前缀 /domain/ 的链接(例如,“http: //www.domain.tld/domain/misc/file.html”或“/domain/misc/file.html”)。

因此,所有域都将指向您的 IP 地址,并且基于域名,如果它是“www.domain.tld”,它将带您到文件夹“/htdocs/domain”或“/wwwroot/domain”

编辑:

<Directory "/var/path/">
 Order Deny,Allow
 Deny from all
 Allow from 127.0.0.1
</Directory>

这允许仅从 localhost 访问“/var/path/”文件夹,这是在您的计算机上配置 Apache 的位置!

祝你好运!!!

于 2012-06-01T17:09:33.413 回答