我想知道是否有人可以帮助我使用 Apache 定义一个新的本地 VirtualHost。
目标是拥有一个只能从本地网络查看的站点(隐藏在防火墙后面)。现在我已经安装了 Webmin,它在 transaction:10000 上运行。我试图让另一个站点在事务:7000 上运行。
以下不起作用:
DocumentRoot /var/path
有一个更好的方法吗?我是 Apache 的新手,并试图解决这个问题。
摘要:需要本地 /var/path 目录才能在 80 以外的端口上运行,仅用于本地访问。
我想知道是否有人可以帮助我使用 Apache 定义一个新的本地 VirtualHost。
目标是拥有一个只能从本地网络查看的站点(隐藏在防火墙后面)。现在我已经安装了 Webmin,它在 transaction:10000 上运行。我试图让另一个站点在事务:7000 上运行。
以下不起作用:
DocumentRoot /var/path
有一个更好的方法吗?我是 Apache 的新手,并试图解决这个问题。
摘要:需要本地 /var/path 目录才能在 80 以外的端口上运行,仅用于本地访问。
我假设您不知道 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 的位置!
祝你好运!!!