apache2 - 로컬 네트워크에만 암호화되지 않은 액세스를 허용하는 방법은 무엇입니까?

apache2 - 로컬 네트워크에만 암호화되지 않은 액세스를 허용하는 방법은 무엇입니까?

로컬 네트워크에 몇 가지 서비스가 실행되는 Linux 서버가 있습니다. 암호화를 사용하여 내 도메인 이름으로 해당 서버에 액세스할 수 있지만 LAN 액세스는 무료로 유지하고 싶습니다. 검색해 보았지만 아무 것도 나오지 않았습니다. VirtualHost서버의 내부 IP로 또 하나를 만들면 암호화 없이 외부 네트워크에 연결할 수 있게 됐다.

그런데 동일한 기준으로 디렉토리에 대한 액세스를 거부할 수 있습니까?

편집: 모든 것을 암호화하고 IP로 액세스할 수 있도록 하는 데 신경 쓰지 않을 것 같습니다.

답변1

나는 그것을 알아. 나는 단순히 라우터에서 포트 80을 전달하지 않았고 서버에서 http를 https로 리디렉션하는 것을 비활성화했습니다.

답변2

Apache의 액세스 제어 명령을 사용할 수 있습니다 mod_authz_core. 이는 핵심 모듈이므로 특별한 것을 설치하거나 활성화할 필요가 없습니다.

여기에서 튜토리얼을 확인하세요:https://httpd.apache.org/docs/2.4/howto/access.html

<VirtualHost>이를 사용하려면 섹션 아래 에 설정하십시오 <Directory>. 이 명령은 a에 설정되어야 하므로 다른 곳에 구성된 기본 디렉토리 처리를 사용하려는 경우에도 섹션이 <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.

관련 정보