![sshfs 및 fstab을 통해 nginx 서버에 설치된 리소스는 404 오류를 표시하며 새로 고칠 때 사라집니다.](https://linux55.com/image/170672/sshfs%20%EB%B0%8F%20fstab%EC%9D%84%20%ED%86%B5%ED%95%B4%20nginx%20%EC%84%9C%EB%B2%84%EC%97%90%20%EC%84%A4%EC%B9%98%EB%90%9C%20%EB%A6%AC%EC%86%8C%EC%8A%A4%EB%8A%94%20404%20%EC%98%A4%EB%A5%98%EB%A5%BC%20%ED%91%9C%EC%8B%9C%ED%95%98%EB%A9%B0%20%EC%83%88%EB%A1%9C%20%EA%B3%A0%EC%B9%A0%20%EB%95%8C%20%EC%82%AC%EB%9D%BC%EC%A7%91%EB%8B%88%EB%8B%A4..png)
저는 nginx
학생들에게 과제를 제공하는 서버(컴퓨터 2)를 운영하고 있습니다. 학생 작품 자체는 다른 컴퓨터(머신 1), 즉 우리 gitolite
서버에 있습니다.
데이터 전송을 최소화하고 git clone
편의를 위해 sshfs
학생 저장소(머신 1에 있음)를 해당 항목을 사용하여 nginx 서버(머신 2)의 디렉터리로 마운트했습니다 fstab
.
fstab
이것은 머신 2의 항목 중 하나입니다.
[email protected]:/path/to/student/work/on/machine1 /path/to/mount/point/on/machine2
fuse.sshfs x-systemd.automount,_netdev,user,idmap=user,follow_symlinks,
identityfile=/path/to/rsa-key/of/ssh-user/key_rsa,allow_other,default_permissions,
reconnect 0 0
(참고: fstab 파일에서는 한 줄로 형식화되어 있지만 가독성을 높이기 위해 위에 줄바꿈을 추가했습니다.)
이 설정은 원칙적으로 작동하며 nginx에서 제공하는 웹사이트를 통해 학생들의 작업에 액세스할 수 있음을 의미합니다.
하지만 사용자가 학생 과제물을 보려고 할 때. 대부분의 경우 사용자는 nginx에서 404 오류를 받습니다. 페이지를 다시 로드하면 이 오류가 해결됩니다. 그러나 대부분의 사용자는 (분명히) 그렇게 하지 않습니다. (그들은 단지 URL이 잘못되었다고 가정할 뿐입니다.)
두 가지 가능한 해결책이 있습니다.
- (선호:) 404 오류의 원인을 수정하는 등 fstab 항목을 일부 수정하여 404를 수정합니다.
- (1. 실패할 경우:) 404 오류가 발생할 때 페이지를 자동으로 다시 로드(새로 고침)하도록 nginx를 구성합니다.
답변1
nginx
프로그램이 다른 사용자로 실행되고 있는 것 같습니다 . 기본적으로 sshfs
설치는 해당 설치를 설치한 사용자에게만 표시됩니다.
따라서 이러한 파일은 (기본적으로) nginx
표시되지 않습니다 .
sshfs
/에는 옵션이 있습니다 fuse
( 파일 시스템 sshfs
입니다 ). fuse
더 눈에 띄게 만드세요. (기억이 나지 않지만 지침에 나와 있습니다.)