Михаил: Смысл в том, чтобы те, чьи это данные, могли их просматривать/изменять. Естественно только в своем аккаунте. Получается, надо будет в сессии/куках постоянно пароль держать, чтобы данные расшифровывать?
Сервис должен быть доступным из любого места и с любого устройства. Данные, конечно, не такие серьезные, как банковские счета, но тоже достаточно серьезные (медицинские)
Доступ к серверу, как минимум, означает доступ к коду. Значит и к базе, хотя можно пароль в переменных окружения другого пользователя спрятать. Вопрос в том, как защитить ключ
Роман Мирр: Именно. Вы запрашиваете file.csv. Nginx (при включенной опции gzip_static и верно прописанных типах в gzip_types) проверяет, есть ли file.csv.gz (несмотря на то, что Вы запросили file.csv) и, если такой файл есть, отдает его с заголовком Content-Encoding: gzip. Браузер, по наличию такого заголовка, понимает, что к нему пришел запакованный контент и на лету его распаковывает.
Роман Мирр: А файл вы получаете не распакованным, потому что качаете .gz
Качать надо file.csv. При правильной настройке nginx, с сервера будет отдан file.csv.gz, который браузер на лету распакует, как будто это был скачан незапакованый file.csv
Роман Мирр: у Вас вопрос поставлен абсолютно четко: "можно ли, имея на сервере файл file.csv.gz, скачать его в виде распакованного file.csv?"
ответ - можно. За это отвечает gzip_static
Сейчас Вы пишете, что вам надо, чтобы браузер сохранял файл в .gz
Роман Мирр: nginx отдает запакованый файл, при этом браузеру отдается заголовок, говорящий о том, что это gzip. Браузер это понимает и сохраняет файл/показывает страницу в распакованом виде