
我的本機網路上有一台 Linux 伺服器,正在運行一些服務。我希望能夠透過我的網域加密存取該伺服器,但保留 LAN 存取自由。我嘗試尋找它,但沒有找到任何東西。使用伺服器的內部IP建立另一個VirtualHost
允許外部網路在不加密的情況下連接。
順便問一下,是否可以以同樣的方式拒絕對目錄的存取?
編輯:我想我會加密所有內容,而不用費心讓它可以透過 IP 訪問
答案1
我想到了。我只是沒有在路由器上轉發連接埠 80,並在伺服器上停用 http 到 https 重定向。
答案2
您可以使用 Apache 的mod_authz_core
存取控制命令 - 這是一個核心模組,您不需要安裝或啟用任何特殊的東西。
請參閱此處的教學:https://httpd.apache.org/docs/2.4/howto/access.html
要使用它,請將其設定在您的<VirtualHost>
一個<Directory>
部分中 - 該指令必須設定在您的一個部分中,因此即使您計劃使用其他地方配置的預設目錄處理,<Directory>
您也應該<Directory>
在您的部分中設定一個部分:<VirtualHost>
<VirtualHost *:80>
DocumentRoot "/some/docroot"
ServerName my.domain.com
<Directory "/some/docroot">
<RequireAll>
Require ip 192.168.1.0/24
</RequireAll>
</Directory>
</VirtualHost>
這將導致從 LAN 外部對連接埠 80 的所有呼叫(此處表示為 192.168.1.0/24 - 根據您的實際 LAN 位址進行變更)收到回應403 Forbidden
。