
로컬 네트워크에 몇 가지 서비스가 실행되는 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
.