Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: http cache & OpenSSL
On Tue, Jun 16, 2009 at 11:26:05AM +0400, Pavel Khusainov wrote:
> Конфигурю nginx-0.8.2
>
> #./configure --with-pcre=./pcre-7.9/ --with-zlib=./zlib-1.2.3/
> --with-openssl=../openssl-0.9.8k/
> ./configure: error: the HTTP cache module requires md5 functions
> from OpenSSL library. You can either disable the module by using
> --without-http_cache option, or install the OpenSSL library into the
> system,
> or build the OpenSSL library statically from the source with nginx by
> using
> --with-openssl=<path> option.
>
> Ставим эту опцию
> #./configure --without-http_cache --with-pcre=./pcre-7.9/
> --with-zlib=./zlib-1.2.3/ --with-openssl=../openssl-0.9.8k/
> ./configure: error: invalid option "--without-http_cache"
>
> В ./configure --help увидел, что --without-http_cache пишется через
> дифис
Спасибо, поправлю.
Что касается сборки OpenSSL из исходников для кэша, то это сработает только
если ещё указан --with-http_ssl_module. Мне кажется, собирать эту огромную
библиотеку только ради md5 не стоит. Надо как-то подправить сообщение,
например,
or build the OpenSSL library statically from the source with nginx by
using --with-http_ssl_module --with-openssl=<path> options.
Можно взять отдельную библиотеку, когда-то вырезаную из OpenSSL,
когда она ещё называлась SSLeay-0.8.2b:
http://sysoev.ru/nginx/libmd5-0.8.2b.tar.gz
--with-md5=../libmd5-0.8.2b
> #./configure --without-http-cache --with-pcre=./pcre-7.9/
> --with-zlib=./zlib-1.2.3/ --with-openssl=../openssl-0.9.8k/
> всё нормально сконфигурировалось
> делаю make, начинает собираться и
> gcc -c -O -pipe -O -W -Wall -Wpointer-arith -Wno-unused-parameter
> -Wunused-function -Wunused-variable -Wunused-value -Werror -g -I
> src/core -I src/event -I src/event/modules -I src/os/unix -I ./pcre-7.9/
> -I ./zlib-1.2.3/ -I objs -I src/http -I src/http/modules > -o objs/src/http/ngx_http_upstream.o > src/http/ngx_http_upstream.c
> src/http/ngx_http_upstream.c: In function
> `ngx_http_upstream_hide_headers_hash':
> src/http/ngx_http_upstream.c:4089: structure has no member named `cache'
> src/http/ngx_http_upstream.c:4089: structure has no member named `cache'
> make[1]: *** [objs/src/http/ngx_http_upstream.o] Ошибка 1
> make[1]: Выход из каталог `/var/ftp/incoming/nginx-0.8.2'
> make: *** [build] Ошибка 2
>
> Залез src/http/ngx_http_upstream.c
> изменил до этого
> #if (NGX_HTTP_CACHE)
> if (conf->hide_headers_hash.buckets
> && ((conf->cache == NULL) == (prev->cache == NULL)))
> {
> return NGX_OK;
> }
> #endif
>
> такая же весчь была и в src/http/modules/ngx_http_proxy_module.c:2346
> после этого всё скомпилировалось.
Нет, это неверный патч.
> Однако, как скомпилировать со включеным file cache
Патч прилагается.
--
Игорь Сысоев
http://sysoev.ru
Index: src/http/ngx_http_upstream.c
===================================================================
--- src/http/ngx_http_upstream.c (revision 2267)
+++ src/http/ngx_http_upstream.c (working copy)
@@ -4086,7 +4086,10 @@
conf->hide_headers_hash = prev->hide_headers_hash;
if (conf->hide_headers_hash.buckets
- && ((conf->cache == NULL) == (prev->cache == NULL)))
+#if (NGX_HTTP_CACHE)
+ && ((conf->cache == NULL) == (prev->cache == NULL))
+#endif
+ )
{
return NGX_OK;
}
Index: src/http/modules/ngx_http_proxy_module.c
===================================================================
--- src/http/modules/ngx_http_proxy_module.c (revision 2267)
+++ src/http/modules/ngx_http_proxy_module.c (working copy)
@@ -2343,7 +2343,10 @@
}
if (conf->headers_set_hash.buckets
- && ((conf->upstream.cache == NULL) == (prev->upstream.cache == NULL)))
+#if (NGX_HTTP_CACHE)
+ && ((conf->upstream.cache == NULL) == (prev->upstream.cache == NULL))
+#endif
+ )
{
return NGX_OK;
}
|