Hello! On Sun, May 03, 2020 at 05:22:33AM +0300, sergio wrote:
> Есть два файла: test.html и test.html.gz > > Если gzip_static не указана, то отдаётся test.html > (нет content-encoding=gzip в ff webdeveloper) > > Если написать gzip_static on, то отдаётся test.html.gz > (content-encoding=gzip в ff webdeveloper) > > > 1. Если после этого удалить test.html то nginx отвечает 404, хотя ни > https://nginx.org/en/docs/http/ngx_http_gzip_static_module.html ни > https://docs.nginx.com/nginx/admin-guide/web-server/compression/ не > говорят ни слова, о том, что для этого должны присутствовать ОБА файла. > > По-моему документацию стоит исправить. Ответ 404 будет тогда и только тогда, когда файл test.html для чего-то используется и отсутствует на диске. В случае, если запрос идёт непосредственно к файлу, клиент поддерживает gzip, и включён gzip_static - клиенту будет отправлен ответ из test.html.gz. > 2. Так же ngx_http_gzip_static_module.html говорит: > > With the “always” value .. It is useful if there are no uncompressed > files on the disk anyway > > Но переключние gzip_static с on на anyway при отсутствующем test.html > ничего не меняет: nginx продолжает отвечать 404. В случае с "gzip_static always;" меняется ровно одно: становится не важно, поддерживает ли клиент gzip, или нет - всегда будет отправлен сжатый ответ. Если вы и в этом случае видите ответ 404, то это означает, что до gzip_static дело не доходит, и ответ 404 отправляется раньше. Например, так может быть, если у вас в конфиге стоит что-нибудь вроде "try_files $uri =404;", то есть существование конкретного файла проверяется явно. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
