在 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 的信息?我发现他们的文档非常混乱(与 php 和 mysql 相比)。 我不确定我是否知道,但我很乐意帮助您解决任何问题。 Google 也可能会有所帮助。 我确实对此进行了更多研究。这更像是不知道要寻找什么的情况。谢谢!以上是关于在 Apache 中定义本地站点 - 使用 80 以外的端口的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Apache 忽略 :80 vhost 文件而只匹配 :443 vhost 文件中的站点?