Apache 目录监听特定端口

Apache 目录监听特定端口

注意:这不是防火墙问题

我正在运行 kolab 服务器并尝试通过让 web 管理员监听某个端口来提高安全性。我选择了 8443。这是我的配置文件:

Alias /kolab-webadmin /usr/share/kolab-webadmin/public_html/

<Directory "/usr/share/kolab-webadmin/public_html/">
    <IfModule mod_rewrite.c>
        RewriteEngine on
        # NOTE: This needs to point to the base uri of your installation.
        RewriteBase /kolab-webadmin/

        # Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} !=/favicon.ico
        RewriteRule ^api/(.*)\.(.*)$ api/index.php?service=$1&method=$2 [L,QSA]

    </IfModule>

    AddDefaultCharset   UTF-8
    php_value error_reporting      6135

    DirectoryIndex index.php
    AllowOverride All

    <ifModule mod_authz_core.c>
        Require all granted
    </ifModule>
    <ifModule !mod_authz_core.c>
        Order Allow,Deny
        Allow from All
    </ifModule>

</Directory>

我不确定具体如何让它工作...我也在用 centos 6.6

编辑:

我只希望这个特定的地址(或者应该说是文件夹)仅在端口 8443 上打开......

因此 domain.com/webmail 将在端口 80 上运行

但 domain.com/kolab-webadmin 仅在 8443 上有效

答案1

您可以添加另一个条目到所需端口上的 apache 配置。

Listen 203.0.113.1:80
Listen 203.0.113.2:8443

然后,您可以在虚拟主机

<VirtualHost 203.0.113.1:80>
  Your webmail config goes here.
</VirtualHost>

<VirtualHost 203.0.113.2:8443>
  Your kolab-webadmin goes here.
</VirtualHost>

希望这有帮助。

答案2

从 Apache 的角度来看,单独的端口是完全独立的虚拟主机。就 Apache 而言,它具有相同的域这一事实无关紧要。

虽然完整的答案远远超出了所能提供的范围,但您所需要的大致轮廓是:

  1. Listen针对新主机/端口的单独指令。
  2. 一个单独的虚拟主机,监听这个新主机/端口,并具有必要的配置来提供您想要的内容。
  3. 对当前托管您不想在主虚拟主机上提供的内容的任何其他虚拟主机进行修改。
  4. 防火墙配置。
  5. 文档,适用于在您继续之后必须处理此非标准配置的任何人。

相关内容