Custom Query (2297 matches)
Results (13 - 15 of 2297)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#32 | fixed | expires header not set correctly using '@' format | ||
Description |
If upstream does not send last-modified header, @ style expiry times will be interpreted as (now + time) (from r1.0.8) ngx_http_headers_filter_module.c line 266 the bug is that the expires header is not set correctly when using @ and it is the case that it is not set correctly, but you will only see the bug if upstream does not set a last-modified header if (conf->expires == NGX_HTTP_EXPIRES_ACCESS || r->headers_out.last_modified_time == -1) { its the || condition that causes the problem confirmed on #nginx by PiotrSikora |
|||
#37 | fixed | SEGFAULT when testing syntax | ||
Description |
nginx is segfaulting in src/core/ngx_string.c:253 when running syntax check (-t). It seems to be related to module stub_status Here is gdb session : (gdb) break src/core/ngx_string.c:251 Breakpoint 1 at 0x40b6a8: file src/core/ngx_string.c, line 251. (gdb) run -t Starting program: /usr/sbin/nginx -t [...] Breakpoint 1, ngx_vslprintf (buf=0x685b1e "", last=0xffffffffffffffff <Address 0xffffffffffffffff out of bounds>,
[...] (gdb) info args buf = 0x685b1e "" last = 0xffffffffffffffff <Address 0xffffffffffffffff out of bounds> fmt = 0x4633d1 "s, %02d %s %4d %02d:%02d:%02d GMT" args = 0x7fffffffe370 (gdb) continue [... 5 breakpoints at the same point, continue anyway] Breakpoint 1, ngx_vslprintf (buf=0x7fffffffd64f "", last=0x7fffffffddf0 "(", fmt=0x46b74c "s:%ui", args=0x7fffffffddf0)
252 in src/core/ngx_string.c (gdb) continue Continuing. Program received signal SIGSEGV, Segmentation fault. ngx_vslprintf (buf=0x7fffffffd64f "", last=0x7fffffffddf0 "(", fmt=0x46b74c "s:%ui", args=0x7fffffffddf0) at src/core/ngx_string.c:253 253 in src/core/ngx_string.c (gdb) info args buf = 0x7fffffffd64f "" last = 0x7fffffffddf0 "(" fmt = 0x46b74c "s:%ui" args = 0x7fffffffddf0 Nginx config file content http {
} |
|||
#45 | fixed | Некорректная обработка директив конфига | ||
Description |
Если в конфиге несколько вирт. хостов, и хотя бы для одного из них включено кэширование (директивой proxy_cache), то при проксировании запросов заголовки, управляющие кэшированием (If-Modified-Since, If-None-Match), не передаются бэкэнду для других хостов (может быть, и локэйшн тоже) даже если те не должны кэшироваться nginx. Попытка ручной установки заголовков приводит к 404 ошибке. Пример, на котором баг вопроизводится (опускаю не относящиеся к теме настройки): http { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_path /opt/local/var/run/nginx/cache/images levels=1 keys_zone=images:1h max_size=1m; server { location / { proxy_pass http://apache; proxy_cache images; proxy_cache_valid 200 301 302 304 1h; proxy_hide_header "Set-Cookie"; proxy_ignore_headers "Cache-Control" "Expires"; } } server { location ~* \.jpg$ { proxy_pass http://apache; #backend will never get if-modified-since headers } } } |