2014-11-02 4 views
0

나는 아주 간단한 .htaccess 파일이됩니다때로는 IP 127.0.0.1 작업을 필요 때로는 '그렇지

<RequireAll> 
    Require all granted 

    # require localhost 
    Require ip 127.0.0.1 
</RequireAll> 

을하고 때로는 ... 작품!

때때로, 그것은 나에게 403 던질 것이며, error.log는 설명 :

[클라이언트 : 1 : 65443] AH01630 : 클라이언트 서버 구성에 의해 거부

왜하지 않습니다 해당 로컬 클라이언트가 Require ip 127.0.0.1 규칙과 일치합니까?

답변

3

아파치 2.4의 Require은 IP 정확히과 일치합니다. 여러 개의 IP 주소가 앨리어싱 localhost 인 경우 모든 IP 주소를 나열해야합니다 (또는 아래에 설명 된대로 별칭이 있으면 별칭을 사용하십시오).

이 경우에 error.log 엔트리가 표시됩니다. 클라이언트는 IPv6 인터페이스 (ip == :: 1)로 연결됩니다. 또한 화이트리스트에 올릴 필요가 있습니다 :

<RequireAll> 
    Require all granted 

    # require localhost 
    <RequireAny> 
     Require ip 127.0.0.1 
     Require ip ::1 
    </RequireAny> 
</RequireAll> 

이 작업을 수행하는 더 간단하고 안전한 방법이 있는지에 대한 제안은 매우 환영합니다!

Helge Klein 알 수

으로 업데이트, Require local 길을 가야하는 것입니다 다음 모든 부여가 필요

<RequireAll> 
    Require all granted 

    # require localhost 
    Require local 
</RequireAll> 
+1

IP 주소를 나열하는 대신 "로컬 필요"를 사용하십시오. 자세한 내용은 http://httpd.apache.org/docs/2.4/en/mod/mod_authz_host.html을 참조하십시오. –

+0

왜 '모든 권한 부여'가 필요합니까? 로컬로 제한하고 싶다면 간단히'Require local'만으로 충분할 것입니까? – Alexander

0

인 상당 : 이전 아파치에서

Order allow,deny 
Allow from all 

버전, 모든 사람에게 사이트를 엽니 다. 당신의 의도가 특정 IP를 제외한 모든 사람에게 사이트를 차단하는 경우, 당신은 시작한다 : 나는이 있기 때문에 Upgrading to 2.4 from 2.2

0

내가 htaccess로 사용하지 마십시오

Require all denied 

당신은 여기에 더 많은 정보를 찾을 수 있습니다 Apache는 내 워크 스테이션에 설치되어 있으며 http.conf 파일에 대한 모든 권한을 가지고 있습니다. 하지만 사람들로부터 로그 장소를 제한 할 phpMyAdmin과 같은 사이트에,이 있습니다

Require all denied 
Require ip 127.0.0.1 

첫 번째 줄은 내 자신의 워크 스테이션을 포함한 모든 사람에 대한 액세스를 거부합니다. 두 번째 행은 내 워크 스테이션 localhost ip를 허용 된 연결 목록에만 추가합니다.

아니오 요구 사항 모두 또는 요구 사항 태그. 다시 .htaccess에서 이러한 태그가 필요할 수 있습니다.

+0

안녕하세요, StackOverflow에 오신 것을 환영합니다! 1) 이미 시도한 내용을 제안하고 2) 다른 답변을 편집 할 수 있고 둘 이상의 답변을 게시 할 필요가 없습니다. 3) [내 대답] (http : // stackoverflow)을 참조하십시오. .com/a/26699007/2228771)이 특정 문제를 이미 해결했습니다. – Domi

0
Require ip 127.0.0.1 
Require ip ::1 
+2

이것은 합법적 인 대답처럼 보입니다. 그러나 그것이 작동하는 이유에 대한 설명을 추가하십시오. 그래서 우리 모두 배울 수 있습니다! 감사. :) – Selfish