不同端口上的 Apache 虚拟主机不起作用

Posted

技术标签:

【中文标题】不同端口上的 Apache 虚拟主机不起作用【英文标题】:Apache virtual host on different ports doesn't work 【发布时间】:2021-05-03 19:39:21 【问题描述】:

我正在尝试在我的本地主机上提供不同的文件夹。我使用的是 Windows 操作系统。

我想在localhost:8080 上服务E:/Programming/Projects,在localhost:80 上服务E:/htdocs

我的httpd-vhosts.conf文件是这样的:

Listen 8080
<VirtualHost *:8080>
    ServerName localhost
    DocumentRoot "E:/Programming/Projects"
    <Directory "E:/Programming/Projects">
        AllowOverride All
    </Directory>

</VirtualHost>

当我尝试导航 localhost:80 时,此端口运行良好。但是 localhost:8080 给出了这个错误:

403 - Forbidden
You don't have permission to access this resource.

我已经重置了我的服务器,但它不起作用。

【问题讨论】:

【参考方案1】:

正确答案是:

Listen 8080

<VirtualHost *:8080>
    ServerName localhost:8080
    DocumentRoot "E:/Programming/Projects/"
    <Directory "E:/Programming/Projects/">
        Options +Indexes +FollowSymLinks +MultiViews
        require all granted
    </Directory>
</VirtualHost>

【讨论】:

将需求限制在本地网络(如require ip 192.168.1)更安全

以上是关于不同端口上的 Apache 虚拟主机不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在虚拟主机中使用自定义端口的 Laravel 路由在 Apache 中不起作用

Apache 本地虚拟主机已列出但不起作用

基于名称的虚拟主机在 OS X 10.10 Yosemite 上的 Apache 2.4.9 中不起作用/不允许

单个 apache tomcat 上的多个域

带有 Xampp 的虚拟主机上的链接不起作用

配置apache虚拟主机