
운영체제 = 데비안 11
기본값을 편집했습니다nginx(버전 1.18.0, Debian 저장소에서 설치) 아래와 같이 구성합니다.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
try_files $uri $uri/ =404;
}
location /torrent/ {
autoindex on;
alias /opt/docker/qbittorrent/downloads;
}
}
다운로드한 파일을 제공하려면큐비트토렌트HTTP 프로토콜의 도커 컨테이너. 그러나 나는404 찾을 수 없음/torrent/
또는 을 방문하면 오류가 발생합니다 /torrent/some_folder/some_name.some_extension
.
중요한 경우 웹 서버가 설치되어 있더라도 rw-r--r--
권한이 있고 소유됩니다.docker_qbit:docker
sudo어.
답변1
문제는 NGINX 사용자가 별칭에 지정한 디렉터리를 탐색할 수 있는 권한이 없다는 것입니다.
귀하의 요구 사항에 따르면 대상 디렉터리에 대한 권한을 변경할 수 없습니다.
내가 볼 수 있는 유일한 해결책은 기본 nginx
(www-data) 사용자를 docker
그룹에 추가하는 것입니다. 이렇게 하면 웹서버가 권한을 변경하지 않고도 지정된 디렉토리에 액세스할 수 있어야 합니다.
Debian 11의 기본 nginx 사용자가 www-data
.
이를 수행하는 명령은 다음과 같습니다.
usermod -a -G docker www-data
해당 명령은 사용자 "www-data"를 "docker" 그룹에 추가하여 수정합니다.
어떤 사용자가 nginx를 실행하고 있는지 확인하려면 다음 명령의 출력을 살펴보세요.
ps -eo user,comm | grep nginx
완료되면 nginx를 다시 로드하고 이제 콘텐츠를 사용할 수 있는지 확인할 수 있습니다.
systemctl reload nginx
답변2
모두에게 감사드립니다. 문제는 /
지시문의 주소 뒤에 생략되었습니다 alias
.