Welcome! Log In Create A New Profile

Advanced

Re: fastcgi_cache: похоже на баг: если Expires очень большой (например, 0x7FF00000), кэширование отключается

Maxim Dounin
October 15, 2009 10:14AM
Hello!

On Thu, Oct 15, 2009 at 04:23:31PM +0400, Igor Sysoev wrote:

> On Thu, Oct 15, 2009 at 03:38:02PM +0400, Maxim Dounin wrote:
>
> > Hello!
> >
> > On Thu, Oct 15, 2009 at 02:56:44PM +0400, Igor Sysoev wrote:
> >
> > > On Thu, Oct 15, 2009 at 01:43:10PM +0400, Dmitry Koterov wrote:
> > >
> > > > Имею в PHP-коде вот такое:
> > > >
> > > > $this->_header("Expires: " . gmdate("D, d M Y H:i:s", *0x7F000000*)
> > > > . " GMT");
> > > >
> > > > В этом случае все кэшируется нормально. Стоит только поменять на
> > > >
> > > > $this->_header("Expires: " . gmdate("D, d M Y H:i:s", *0x7FF00000*)
> > > > . " GMT");
> > > >
> > > > (вместо 0x7F000000 поставить 0x7FF00000, добавив одну буковку F, т.е.
> > > > указать время чуть более в будущем) - и все, уже кэш-файлы не создаются.
> > > >
> > > > В конфиге nginx примерно следующее:
> > > >
> > > > fastcgi_cache merge;
> > > > fastcgi_cache_valid 200 304 404 240h;
> > > > fastcgi_cache_key
> > > > "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
> > > >
> > > > nginx/0.7.62. Похоже на баг или какую-то сильно недокументированную
> > > > особенность.
> > >
> > > А что показывает "uname -prs" ?
> > > nginx не понимает время >= 2038 года на платформах с 32-битным time_t.
> >
> > А как насчёт патча? Или я что-то упустил из виду?
>
> Изначально я считал, что эти пара недель 2038 года никому не нужны.
> Но похоже это не так. Другой патч.

[...]

> time_t
> ngx_http_parse_time(u_char *value, size_t len)
> {
> - u_char *p, *end;
> - int day, month, year, hour, min, sec;
> + u_char *p, *end;

Looks like extra space here.

> + ngx_int_t month;
> + ngx_uint_t day, year, hour, min, sec;
> + uint64_t time;

[...]

В остальном вроде всё нормально, тесты проходит.

Maxim Dounin
Subject Author Posted

fastcgi_cache: похоже на баг: если Expires очень большой (например, 0x7FF00000), кэширование отключается

Dmitry Koterov October 15, 2009 05:52AM

Re: fastcgi_cache: похоже на баг: если Expires очень большой (например, 0x7FF00000), кэширование отключается

Igor Sysoev October 15, 2009 07:04AM

Re: fastcgi_cache: похоже на баг: если Expires очень большой (например, 0x7FF00000), кэширование отключается

Maxim Dounin October 15, 2009 07:44AM

Re: fastcgi_cache: похоже на баг: если Expires очень большой (например, 0x7FF00000), кэширование отключается Attachments

Igor Sysoev October 15, 2009 08:34AM

Re: fastcgi_cache: похоже на баг: если Expires очень большой (например, 0x7FF00000), кэширование отключается

Maxim Dounin October 15, 2009 10:14AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 158
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready