在 Apache 中定义本地站点 - 使用 80 以外的端口

Posted

技术标签:

【中文标题】在 Apache 中定义本地站点 - 使用 80 以外的端口【英文标题】:Define local site in Apache - Use port other than 80 【发布时间】:2012-06-06 20:54:30 【问题描述】:

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

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

以下不起作用:

DocumentRoot /var/path

有没有更好的方法来做到这一点?我是 Apache 新手,正在尝试解决这个问题。

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

【问题讨论】:

【参考方案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>

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

祝你好运!!!

【讨论】:

感谢您的帮助,我今天要研究一下。您是否有任何推荐的在线资源来了解更多关于 Apache 的信息?我发现他们的文档非常混乱(与 phpmysql 相比)。 我不确定我是否知道,但我很乐意帮助您解决任何问题。 Google 也可能会有所帮助。 我确实对此进行了更多研究。这更像是不知道要寻找什么的情况。谢谢!

以上是关于在 Apache 中定义本地站点 - 使用 80 以外的端口的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Apache 忽略 :80 vhost 文件而只匹配 :443 vhost 文件中的站点?

阿帕奇配置本地虚拟站点,XAMPP环境下

在 Ubuntu Linux 上使用 Apache 在本地测试您的站点

Ubuntu apache 虚拟主机站点在浏览器中不起作用

Apache服务器在80端口配置多域名虚拟主机的方法

phpstudy创建多站点