2012-06-18 4 views
0

Lightwepd 서버를 설정하여 mywebsite.com/files 비밀번호를 보호하도록 설정했습니다. 하지만 나는 파일의 하위 디렉토리를 전혀 암호로 보호하지 않기를 바란다. lighttpd.conf 파일을 변경하여/files 디렉토리 비밀번호를 보호하고 작동하지만 모든 하위 디렉토리는 비밀번호로 보호됩니다. lighttpd가이를 막을 수있는 옵션을 찾지 못하는 것 같습니다.Lighttpd는 하위 디렉토리가 아닌 디렉토리에 대한 액세스를 제한합니다.

그래서 :

/파일/암호가

을 암호로 보호는

내가 이것을 할 수 있도록 누락 일부 설정 또는 구문이 있나요

을 보호되지 /files/a.txt?

답변

1

당신이하려는 것은 불가능합니다.

당신이 이런 식으로 사용한다고 상상해보십시오.

$HTTP["url"] =~ "^/files" { 
    url.access-deny = ("") 
} 

디렉토리에 대한 액세스를 거부하면 반복적으로 작동합니다. 즉, 디렉토리의 모든 파일도 거부됩니다.

사실 나는 당신이 무엇을하려고하는지, 왜 당신이이 기능을 원하는지 이해할 수 없다.

0

물론 할 수 있습니다. HTTP 블록에서 auth 구성을 중첩하는 것이 중요합니다. 이것은 다른 많은 상황을 해결하는 강력한 트릭입니다. 인증 모듈은 정확한 경로에 대해서만 트리거되며 그 아래의 항목은 보호되지 않습니다. 보호해야 할 것을보다 세부적으로 제어하려면 정규 표현식을 사용할 수도 있습니다.

$HTTP["url"] == "/files/" { 
auth.require = ("/files/" => 
(
"method" => "basic", 
"realm" => "Password protected area", 
"require" => "user=alice" 
) 
) 
} 

디렉토리 경로는 항상 슬래시로 끝납니다. 이것은 디렉토리 목록의 표준입니다. 슬래시가 누락되면 리디렉션이 자동으로 실행되므로 /files에 대해 걱정할 필요가 없습니다.

관련 문제