2014-05-01 5 views
0

특정 주소 만 내 가상 호스트 중 하나에 액세스 할 수 있도록하려면 어떻게해야합니까?Vhost 액세스 제어

나는 시도했다 :

<VirtualHost *:80> 
    DocumentRoot "C:\Web Server\phpmyadmin" 
    ServerName localhost 

    <Directory /> 
    Require all granted 
    Require ip 192.168.0.10 
    </Directory> 


    # Other directives here 
</VirtualHost> 

과 :

을 DocumentRoot는 "C는 : \ 웹 서버 \ phpMyAdmin에" 서버 이름의 로컬 호스트는

<Directory /> 
<RequireAll> 
Require all granted 
Require ip 192.168.0.10 
</RequireAll> 
</Directory> 


# Other directives here 

그러나 아파치에 거부 스타트. 2.4 사용

<VirtualHost *:80> 
    DocumentRoot /var/www/test 
    <Directory /var/www/test> 
    Order deny,allow 
    Deny from all 
    Allow from <IP> 
    </Directory> 
</VirtualHost> 

업데이트 :

답변

0

이 트릭을 할해야

<Directory /var/www/test> 
    Require ip <IP> 
</Directory> 
+0

나는 아파치 2.4를 사용하고 있습니다. – imperium2335

+0

@ imperium2335 2.4에 대한 업데이트보기 – Sebastian

+0

고마워.하지만 내 IP를 허용하더라도 여전히 금지되어 있으므로 아무 것도 연결하지 못하게됩니다. – imperium2335

1

을 나는 가상 호스트 구성을 통해 같은 시도했고 실패 때문에 다른 아파치 구성에 대한 종속성되면 파일. 난 단지 내 IP에 대한 액세스를 제한 할 htaccess로 파일을 사용하여 결국 - 그것은 내가 지금까지 한 모든 시나리오에서 근무 :

샘플 htaccess로 구성 : 그것은 모든 사용자를 리디렉션합니다

RewriteEngine on 
RewriteCond %{REQUEST_URI} !/maintenance.php 
RewriteCond %{REMOTE_ADDR} !=111.111.111.111 
RewriteRule ^.*$ /maintenance.php [R=302,L] 

, 누구는 IP가 111.111.111.111이 아닌 maintenance.php 파일에 액세스가 차단되었다는 메시지를 사용자에게 남길 수 있습니다.

나는이 질문에 ".htaccess"라는 태그가 붙어 있기 때문에이 예제를 제공합니다.

+0

구체적인 경우 302 상태 코드는 사용하지 말고 [503] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.5.4)을 사용하십시오. – MueR