On 24.05.2021 4:19, Maxim Dounin wrote:
add_trailer X-Response-Time $upstream_response_time always; add_trailer X-Cache-Status $upstream_cache_status always;
Чтение трейлеров от бэкендов сейчас поддерживается только для gRPC-бэкендов. Если хочется, чтобы работало и для HTTP/1.1 с chunked - присылайте патчи.
У trailers есть один существенный недостаток - они отсутствуют в ответах, состоящих из одних только заголовков, например, в ответах на HEAD-запросы. Поэтому trailers мне не подходят. Если использовать вариант: add_header X-Cache-Status $upstream_cache_status always; add_header X-Response-Time $upstream_header_time always; $upstream_header_time примерно равно $upstream_response_time, для большинства обычных сайтов, кроме того - эти два заголовка будуть присутствовать в ответах бэкенда всегда, даже для ответов на HEAD-запросы. Это есть примерно то, чего и хотелось получить. Остается только одна небольшая проблема - если в server или в location присутствуют свои директивы add_header, то там надо будет продублировать вручную эти две директивы add_header с уровня http. Можно ли добавить в nginx директиву, например, force_add_header, которая будет почти во всем аналогична директиве add_header, но только директива add_header не будет отменять действие директивы force_add_header, а директива force_add_header не будет отменять действие директивы add_header. В случае коллизии - одно и то же имя заголовка задается и директивой force_add_header и директивой add_header в каком-то location - тогда пишется warning во время тестирования конфигурации и действует только директива force_add_header, два заголовка с одним и тем же именем не добавляются в ответ сервера. Тогда можно было бы всего один раз на уровне http прописать force_add_header X-Cache-Status $upstream_cache_status always; force_add_header X-Response-Time $upstream_header_time always; и тогда в каждом ответе бэкенда присутствовали бы эти два заголовка, вне зависимости от того, где в server или в location встречаются директивы add_header и в каком количестве. Это было бы очень удобно. -- Best regards, Gena _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru