다른 사용자를 위한 nginx fastcgi_cache_path 쓰기 액세스

다른 사용자를 위한 nginx fastcgi_cache_path 쓰기 액세스

fastcgi 캐싱과 함께 nginx 웹 서버를 사용하고 있습니다. fastcgi_cache_path는 nginx에서 각 가상 호스트의 웹 루트 하위 디렉터리로 설정됩니다. (예: /var/html/user01/httpdocs/nginx_cache ... /var/html/user02/httpdocs/nginx_cache.

응답 헤더(x-cache hit)와 nginx_cache 디렉터리에 저장된 데이터에서 볼 수 있듯이 캐싱 자체는 잘 작동합니다.

그래서 nginx_cache 디렉토리를 보면 소유자가 항상 nginx라는 것을 알 수 있습니다. 내가 하고 싶었던 것은 nginx_cache 폴더에 대한 사용자(user01, user02, ...)의 권한(읽기/삭제)을 영구적으로 설정하는 것입니다.

내가 이미 시도한 것: - user0x에 대한 재귀적 모든 권한 변경(변경 사항 및 새 파일에 대해 nginx로 덮어쓰게 됨) - nginx 구성 검색(작동하지 않는 nginx_store_access만 찾았음)

이 문제를 어떻게 해결할 수 있나요?

답변1

첫째, 웹 루트 아래에 캐시 폴더를 저장하면 안 됩니다 /var/www/html/user01/httpdocs. 그러면 모든 웹 방문자에게 캐시 콘텐츠가 공개됩니다. 레벨 로 이동하면 /var/www/html/user01콘텐츠에 접근할 수 없습니다.

파일 권한과 관련하여 다음과 같이 캐시 디렉터리에 ACL을 적용해 볼 수 있습니다.

setfacl -d -m u:user01:rw ngx_cache

ngx_cache이렇게 하면 캐시 디렉토리 내의 모든 파일을 에서 읽고 쓸 수 있게 만드는 ACL이 디렉토리에 할당됩니다 user01.

관련 정보