apache2 - 如何僅允許對本機網路進行未加密的存取?

apache2 - 如何僅允許對本機網路進行未加密的存取?

我的本機網路上有一台 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

相關內容