Los recursos montados a través de sshfs y fstab en un servidor nginx dan errores 404: se actualizaron

Los recursos montados a través de sshfs y fstab en un servidor nginx dan errores 404: se actualizaron

Aquí hay un bosquejo de la situación: ingrese la descripción de la imagen aquí

Estoy ejecutando un nginxservidor (máquina 2) que proporciona el trabajo de nuestros estudiantes. El trabajo del estudiante se encuentra en otra máquina (máquina 1): nuestro gitoliteservidor.

Para minimizar git clonela transferencia de datos (y por conveniencia), estoy montando los repositorios de estudiantes (que se encuentran en la máquina 1) como directorios en el servidor nginx (máquina 2) a través de las entradas sshfscorrespondientes fstab.

Esta es una de las fstabentradas en la máquina 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

(nota: en el archivo fstab esto está escrito como una sola línea, pero para facilitar la lectura, agregué nuevas líneas arriba)

Esta configuración funciona en principio, lo que significa que se puede acceder a los trabajos de los estudiantes a través del sitio web proporcionado por nginx.

Pero cuando un usuario intenta ver el trabajo del estudiante. La mayoría de las veces, el usuario recibirá un error 404 de nginx. Este error se puede solucionar simplemente recargando la página. Pero la mayoría de los usuarios (obviamente) no harán eso (simplemente asumen que la URL es defectuosa).

Veo dos posibles soluciones:

  1. (preferido:) arreglar el 404 mediante alguna modificación en la entrada fstab, por ejemplo, arreglando la causa del error 404
  2. (si 1. falla:) configurar nginx para recargar (actualizar) automáticamente la página, si ocurre un error 404.

Respuesta1

Creo que se nginxestá ejecutando como un usuario diferente. Y, de forma predeterminada, sshfslos montajes solo son visibles para el usuario que los monta.

Por lo tanto (por defecto) nginxno se pueden ver los archivos.

Hay opciones para sshfs/ fuse( sshfses un fusesistema de archivos). para hacerlos más visibles. (No lo recuerdo, pero está en el manual).

información relacionada