recursos montados via sshfs e fstab em um servidor nginx apresentam erros 404 - foram atualizados

recursos montados via sshfs e fstab em um servidor nginx apresentam erros 404 - foram atualizados

Aqui está um esboço da situação: insira a descrição da imagem aqui

Estou rodando um nginxservidor (máquina 2) que disponibiliza o trabalho dos nossos alunos. O trabalho do aluno está em outra máquina (máquina 1): nosso gitoliteservidor.

Para minimizar git clonea transferência de dados e (e por conveniência), estou montando os repositórios dos alunos (que residem na máquina 1) como diretórios no servidor nginx (máquina 2) por meio sshfsde entradas correspondentes fstab.

Esta é uma das fstabentradas na 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: no arquivo fstab isso é composto como uma única linha, mas para facilitar a leitura, adicionei novas linhas acima)

Esta configuração funciona em princípio, ou seja, os trabalhos dos alunos podem ser acessados ​​​​através do site fornecido pela nginx.

Mas quando um usuário tenta ver o trabalho do aluno. Na maioria das vezes, o usuário receberá um erro 404 do nginx. Este erro pode ser corrigido simplesmente recarregando a página. Mas a maioria dos usuários (obviamente) não fará isso (eles simplesmente presumem que o URL está com defeito).

Vejo duas soluções possíveis:

  1. (preferencial :) corrigindo o 404 por meio de alguma modificação na entrada fstab, por exemplo, corrigindo a causa do erro 404
  2. (se 1. falhar:) configurar o nginx para recarregar (atualizar) automaticamente a página, se ocorrer um erro 404.

Responder1

Eu acho que nginxestá sendo executado como um usuário diferente. E por padrão sshfsas montagens são visíveis apenas para o usuário que as monta.

Portanto (por padrão) nginxnão é possível ver os arquivos.

Existem opções para sshfs/ fuse( sshfsé um fusesistema de arquivos). para torná-los mais visíveis. (não me lembro, mas está no manual).

informação relacionada