Все, нашел - когда 2 файла склиевались, END-BEGIN слились в одну строчку.<br>0.8.29 также собрался.<br>Спасибо!<br><br><div class="gmail_quote">2009/12/13 Nikolay Grebnev <span dir="ltr">&lt;<a href="mailto:nick@algen.spb.ru">nick@algen.spb.ru</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">00000000  2d 2d 2d 2d 2d 42 45 47  49 4e 20 43 45 52 54 49  |-----BEGIN CERTI|<br>00000010  46 49 43 41 54 45 2d 2d  2d 2d 2d 0a 4d 49 49 46  |FICATE-----.MIIF|<br>
00000020  51 44 43 43 42 43 69 67  41 77 49 42 41 67 49 51  |QDCCBCigAwIBAgIQ|<br>
00000030  62 67 6f 32 4f 77 59 43  6b 51 34 2f 55 70 38 2b  |bgo2OwYCkQ4/Up8+|<br>00000040  6f 30 52 62 46 54 41 4e  42 67 6b 71 68 6b 69 47  |o0RbFTANBgkqhkiG|<br>00000050  39 77 30 42 41 51 55 46  41 44 42 6c 0a 2d 2d 0a  |9w0BAQUFADBl.--.|<br>

00000060  51 34 7a 32 61 67 3d 3d  0a 2d 2d 2d 2d 2d 45 4e  |Q4z2ag==.-----EN|<br>00000070  44 20 43 45 52 54 49 46  49 43 41 54 45 2d 2d 2d  |D CERTIFICATE---|<br>00000080  2d 2d 2d 2d 2d 2d 2d 42  45 47 49 4e 20 43 45 52  |-------BEGIN CER|<br>

00000090  54 49 46 49 43 41 54 45  2d 2d 2d 2d 2d 0a 4d 49  |TIFICATE-----.MI|<br>000000a0  49 45 78 7a 43 43 41 36  2b 67 41 77 49 42 41 67  |IExzCCA6+gAwIBAg|<br>000000b0  49 51 44 32 38 51 32 66  73 4d 79 43 70 4a 55 62  |IQD28Q2fsMyCpJUb|<br>

000000c0  4b 42 34 7a 38 64 31 6a  41 4e 42 67 6b 71 68 6b  |KB4z8d1jANBgkqhk|<br>000000d0  69 47 39 77 30 42 41 51  55 46 41 44 43 42 0a 2d  |iG9w0BAQUFADCB.-|<br>000000e0  2d 0a 2d 2d 2d 2d 2d 45  4e 44 20 43 45 52 54 49  |-.-----END CERTI|<br>

000000f0  46 49 43 41 54 45 2d 2d  2d 2d 2d 0a 2d 2d 2d 2d  |FICATE-----.----|<br>00000100  2d 42 45 47 49 4e 20 43  45 52 54 49 46 49 43 41  |-BEGIN CERTIFICA|<br>00000110  54 45 2d 2d 2d 2d 2d 0a  4d 49 49 45 68 6a 43 43  |TE-----.MIIEhjCC|<br>

00000120  41 32 36 67 41 77 49 42  41 67 49 51 55 6b 49 47  |A26gAwIBAgIQUkIG|<br>00000130  53 6b 38 33 2f 6b 4e 70  53 48 71 57 5a 2f 39 64  |Sk83/kNpSHqWZ/9d|<br>00000140  4a 7a 41 4e 42 67 6b 71  68 6b 69 47 39 77 30 42  |JzANBgkqhkiG9w0B|<br>

00000150  41 51 55 46 41 44 42 76  0a                       |AQUFADBv.|<br>00000159<br><br><br><div class="gmail_quote">2009/12/13 Igor Sysoev <span dir="ltr">&lt;<a href="mailto:igor@sysoev.ru" target="_blank">igor@sysoev.ru</a>&gt;</span><div>
<div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div>On Sun, Dec 13, 2009 at 12:53:39AM +0300, Maxim Dounin wrote:<br>

<br>
&gt; Hello!<br>
&gt;<br>
&gt; On Sat, Dec 12, 2009 at 11:57:05PM +0300, Nikolay Grebnev wrote:<br>
&gt;<br>
&gt; &gt; Добрый день.<br>
&gt; &gt;<br>
&gt; &gt; Чего-то напрочь не удается собрать с поддержкой ssl нормально.<br>
&gt; &gt;<br>
&gt; &gt; OS - CentOS 5.2 (вроде как - или 5.1)<br>
&gt; &gt;<br>
&gt; &gt; При сборке с базовыми либами ругается<br>
&gt; &gt;         objs/ngx_modules.o \<br>
&gt; &gt;         -lcrypt -lpcre -lssl -lcrypto -ldl -lz<br>
&gt; &gt; objs/src/http/ngx_http_request.o: In function `ngx_http_ssl_servername&#39;:<br>
&gt; &gt; ngx_http_request.c:(.text+0xc85): undefined reference to<br>
&gt; &gt; `SSL_get_servername&#39;<br>
&gt; &gt; ngx_http_request.c:(.text+0xd76): undefined reference to `SSL_set_SSL_CTX&#39;<br>
&gt; &gt; collect2: выполнение ld завершилось с кодом возврата 1<br>
&gt; &gt; make[1]: *** [objs/nginx] Ошибка 1<br>
&gt; &gt; make[1]: Leaving directory `/root/nginx-ssl/nginx-0.8.29&#39;<br>
&gt; &gt; make: *** [build] Ошибка 2<br>
&gt;<br>
&gt; Вероятно, библиотека openssl в системе и её заголовочные файлы<br>
&gt; несинхронизированы между собой.  Не знаю как в центосе, по вообще<br>
&gt; в мире линуксов популярна идея делать отдельными пакетам openssl и<br>
&gt; openssl-dev, и их рассинхронизация обычно доставляет.<br>
&gt;<br>
&gt; &gt; При сборке с внешним ssl -<br>
&gt; &gt; ./configure --with-openssl=/root/nginx-ssl/openssl-0.9.8l<br>
&gt; &gt; --with-http_ssl_module<br>
&gt; &gt;<br>
&gt; &gt; # make -j 5<br>
&gt; &gt; make -f objs/Makefile<br>
&gt; &gt; make[1]: Entering directory `/root/nginx-ssl/nginx-0.8.29&#39;<br>
&gt; &gt; cd /root/nginx-ssl/openssl-0.9.8l \<br>
&gt; &gt;         &amp;&amp; make clean \<br>
&gt; &gt;         &amp;&amp; ./config --prefix=/root/nginx-ssl/openssl-0.9.8l/.openssl<br>
&gt; &gt; no-shared  no-threads \<br>
&gt; &gt;         &amp;&amp; make \<br>
&gt; &gt;         &amp;&amp; make install<br>
&gt; &gt; make[2]: Entering directory `/root/nginx-ssl/openssl-0.9.8l&#39;<br>
&gt; &gt; rm -f *.map *.so *.so.* *.dll engines/*.so engines/*.dll *.a engines/*.a<br>
&gt; &gt; */lib */*/lib<br>
&gt; &gt; rm: невозможно удалить `openssl/lib&#39;: Это каталог<br>
&gt; &gt; make[2]: *** [libclean] Ошибка 1<br>
&gt;<br>
&gt; Не отрабатывает &#39;make clean&#39; в openssl.  Судя по всему - не<br>
&gt; отрабатывает из-за того, что с этими же исходниками собирали nginx<br>
&gt; 0.7.*.<br>
&gt;<br>
&gt; Решение:<br>
&gt;<br>
&gt; rm -r /root/nginx-ssl/openssl-0.9.8l/openssl<br>
<br>
</div></div>Да, в 0.7 собранный openssl ставится в openssl-0.9.8l/openssl. Из-за того,<br>
что &quot;make clean&quot; потом его не может удалить, в 0.8.17 openssl ставится в<br>
<div><div></div><div>openssl-0.9.8l/.openssl<br>
<br>
&gt; &gt; make[2]: Leaving directory `/root/nginx-ssl/openssl-0.9.8l&#39;<br>
&gt; &gt; make[1]: *** [/root/nginx-ssl/openssl-0.9.8l/.openssl/include/openssl/ssl.h]<br>
&gt; &gt; Ошибка 2<br>
&gt; &gt; make[1]: Leaving directory `/root/nginx-ssl/nginx-0.8.29&#39;<br>
&gt; &gt; make: *** [build] Ошибка 2<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Это был 0.8.29.<br>
&gt; &gt; =====================<br>
&gt; &gt;<br>
&gt; &gt; 0.7.64 собирается с собственным ssl (./configure<br>
&gt; &gt; --with-openssl=/root/nginx-ssl/openssl-0.9.8l --with-http_ssl_module)<br>
&gt; &gt; # /usr/local/nginx/sbin/nginx -V<br>
&gt; &gt; nginx version: nginx/0.7.64<br>
&gt; &gt; TLS SNI support enabled<br>
&gt; &gt; configure arguments: --with-openssl=/root/nginx-ssl/openssl-0.9.8l<br>
&gt; &gt; --with-http_ssl_module<br>
&gt; &gt;<br>
&gt; &gt; но не может запуститься<br>
&gt; &gt; # /usr/local/nginx/sbin/nginx -t -c conf/nginx.conf-ssl<br>
&gt; &gt; [emerg]: SSL_CTX_use_certificate_chain_file(&quot;/usr/local/nginx/conf/srv.pem&quot;)<br>
&gt; &gt; failed (SSL: error:0906D066:PEM routines:PEM_read_bio:bad end line<br>
&gt; &gt; error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib)<br>
&gt; &gt; configuration file /usr/local/nginx/conf/nginx.conf-ssl test failed<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; Жутко умаялся, посоветуйте плиз что делать.<br>
&gt; &gt;<br>
&gt; &gt; Да, ssl самый простенький от globessl.<br>
&gt; &gt; srv.pem собирался из 2 файлов - crt и ca-bundle<br>
&gt;<br>
&gt; Судя по ругани от openssl - в srv.pem что-то не так.  К такой<br>
&gt; ругане должна приводить ошибка в строке<br>
&gt;<br>
&gt; -----END CERTIFICATE-----<br>
&gt;<br>
&gt; например - отсутствие перевода строки в конце, или наличие его в<br>
&gt; неправильном виде (CR LF вместо LF).<br>
<br>
</div></div>Что показывает<br>
grep -1 &#39;BEGIN CERTIFICATE&#39; /usr/local/nginx/conf/srv.pem | hexdump -C<br>
<font color="#888888"><br>
<br>
--<br>
Игорь Сысоев<br>
<a href="http://sysoev.ru" target="_blank">http://sysoev.ru</a><br>
</font><div><div></div><div><br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
</div></div></blockquote></div></div></div><br>
</blockquote></div><br>