ресурсы, смонтированные через sshfs и fstab на сервере nginx, выдают ошибку 404 - исчезает при обновлении

ресурсы, смонтированные через sshfs и fstab на сервере nginx, выдают ошибку 404 - исчезает при обновлении

Вот краткий обзор ситуации: введите описание изображения здесь

Я запускаю nginxсервер (машина 2), который обеспечивает работу наших студентов. Сама студенческая работа находится на другой машине (машина 1): наш gitoliteсервер.

Чтобы минимизировать git cloneпередачу данных (и для удобства), я монтирую студенческие репозитории (размещенные на машине 1) как каталоги на сервере nginx (машина 2) с помощью sshfsи соответствующих 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.

Но когда пользователь пытается посмотреть студенческую работу. В большинстве случаев пользователь получит ошибку 404 от nginx. Эту ошибку можно исправить, просто перезагрузив страницу. Но большинство пользователей (очевидно) этого не сделают (они просто предполагают, что URL-адрес неисправен).

Я вижу два возможных решения:

  1. (предпочтительно:) исправление ошибки 404 путем внесения некоторых изменений в запись fstab, например, путем исправления причины ошибки 404
  2. (если 1. не удается:) настройка nginx для автоматической перезагрузки (обновления) страницы в случае возникновения ошибки 404.

решение1

Я бы подумал, что он nginxработает под другим пользователем. И по умолчанию sshfsмонтирования видны только тому пользователю, который их монтирует.

Поэтому (по умолчанию) nginxфайлы не видны.

Есть параметры для sshfs/ fuse( sshfsэто fuseфайловая система), чтобы сделать их более заметными. (Я не помню, но это есть в руководстве).

Связанный контент