Apache-2.2

Apache 目錄監聽特定埠

  • September 3, 2015

注意:這不是防火牆問題

我正在執行一個 kolab 伺服器,並試圖通過讓 web-admin 監聽某個埠來提高安全性。我選擇了 8443。這是我的 conf 文件:

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

您可以在所需埠上添加另一個Listen to the apache config條目。

Listen 203.0.113.1:80
Listen 203.0.113.2:8443

然後,您可以在VirtualHost上添加目錄配置。

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

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

希望這有幫助。

從 Apache 的角度來看,一個單獨的埠是一個完全獨立的虛擬主機。就 Apache 而言,它具有相同域的事實是無關緊要的。

雖然完整的答案遠遠超出了可以提供的範圍,但您需要的大致輪廓是:

  1. 一個單獨的Listen指令,用於新的主機/埠。
  2. 一個單獨的虛擬主機,在這個新的主機/埠上監聽,具有必要的配置來提供你想要的內容。
  3. 對目前託管您不希望在主虛擬主機上提供的內容的任何其他虛擬主機進行修改。
  4. 防火牆配置。
  5. 文件,適用於在您繼續前進後必須處理此非標準配置的人。

引用自:https://serverfault.com/questions/718705