Как сделать загрузки доступными только для авторизованных пользователей

Здравствуйте,

Я хочу использовать Nginx для защиты директории и нашел discourse-auth-proxy.

Как настроить Nginx так, чтобы пользователи должны были войти в систему, прежде чем получить доступ к директории?

Что вы имеете в виду под «каталогом» здесь?

Я не думаю, что это делает то, что вы думаете.

Что именно вы пытаетесь сделать?

Вы хотите, чтобы Discourse был защищён базовой аутентификацией (BASIC auth), прежде чем пользователь сможет его увидеть?

Например:

Я опубликовал сообщение в этом посте

https://example.com/aaa/111.txt

Гостевые пользователи могут видеть это сообщение, но если они захотят загрузить 111.txt, им потребуется войти в систему.

Файл /aaa/111.txt предоставляется через nginx.

Я пробовал использовать решение с Discourse SSO in Nginx, но, похоже, это не сработало.

Я изменил тему на «Как сделать загрузки доступными только для авторизованных пользователей» — это именно то, что вы пытаетесь сделать, верно?

Из discourse-auth-proxy:

Это не решит задачу, которую вы описали. Оно позволит защищать другой сайт, используя Discourse в качестве точки аутентификации.

Если вы хотите сделать загрузки видимыми только для авторизованных пользователей, ознакомьтесь с материалом по ссылке: Secure Uploads.

Но я не знаю способа, при котором пост был бы видим, а загрузки в нём были бы недоступны тем, кто видит пост.
РЕДАКТИРОВАНИЕ: Но теперь я вспомнил один!

Вот что предлагается:

запретить анонимам скачивать файлы

Запретить анонимным пользователям скачивать вложения.

Это было бы полезно?