Size: a a a

2019 December 21

Vs

Vladislav support.od.ua in nginx_ru
Alex Gluck
Выше строка
пролистал - не нашел
источник

Y

Yuri in nginx_ru
Alex Gluck
Мы же типо ребутнули сервер на новый конфиг и все 4к заново ломанулись
С другой стороны, тип проекта тоже роляет. Если у клиента уже открыта страница и он получает обновления с помощью wss какого-нибудь - ну случится хендшейк попозже, получит данные не сразу... но вряд ли заметит
источник

AG

Alex Gluck in nginx_ru
Я спать, добрых снов
источник

AN

Anton Noginov in nginx_ru
Alex Gluck
Тогда замена серта без релоада бы работала. Проверь на летсенкрипт с одним доменом
Словил мелкий косяк, но пока раскручиваю - _внимательно_ посмотрел в документацию:

Note that using variables implies that a certificate will be loaded for each SSL handshake, and this may have a negative impact on performance.

The value data:$variable can be specified instead of the file (1.15.10), which loads a certificate from a variable without using intermediate files. Note that inappropriate use of this syntax may have its security implications, such as writing secret key data to error log.
источник

EN

E Nemo in nginx_ru
Vladislav support.od.ua
а можно на pastebin чудо-конфиг haproxy ?
прям с прода скопировал https://gist.github.com/nenemo/0687a44d11d234db5ff8cd2bb08f72b8
источник

Vs

Vladislav support.od.ua in nginx_ru
acl у haproxy через reload подгружается?
источник

EN

E Nemo in nginx_ru
Vladislav support.od.ua
acl у haproxy через reload подгружается?
haproxy 1.8 научилось релоадиться с 40к сертификатов без даунтайма.
источник

Vs

Vladislav support.od.ua in nginx_ru
ох, найс
источник

Vs

Vladislav support.od.ua in nginx_ru
серты сами выпускаете или Let's Encrypt ?
источник

AN

Anton Noginov in nginx_ru
Alex Gluck
Тогда замена серта без релоада бы работала. Проверь на летсенкрипт с одним доменом
Ну и, собственно, работает:

/tmp/nginx # curl -sk -D - https://127.0.0.1:38080/
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Fri, 20 Dec 2019 23:52:11 GMT
Content-Type: text/plain
Content-Length: 2
Connection: keep-alive

OK
/tmp/nginx # mv ssl.* ../
/tmp/nginx # curl -sk -D - https://127.0.0.1:38080/
/tmp/nginx # mv ../ssl.* .
/tmp/nginx # curl -sk -D - https://127.0.0.1:38080/
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Fri, 20 Dec 2019 23:52:38 GMT
Content-Type: text/plain
Content-Length: 2
Connection: keep-alive

OK


В логе:

2019/12/21 00:52:29 [error] 25976#0: *4 cannot load certificate "/tmp/nginx/ssl.cert": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/tmp/nginx/ssl.cert','r') error:2006D080:BIO routines:BIO_new_file:no such file) while SSL handshaking, client: 127.0.0.1, server: 0.0.0.0:38080
2019/12/21 00:52:29 [info] 25976#0: *4 SSL_do_handshake() failed (SSL: error:1417A179:SSL routines:tls_post_process_client_hello:cert cb error) while closing request, client: 127.0.0.1, server: 0.0.0.0:38080


Конфиг:

    map  $http_ssl $sslname {
     default   'ssl';
   }

   server {
     listen 38080 ssl ;

       ssl_certificate      /tmp/nginx/$sslname.cert ;
       ssl_certificate_key  /tmp/nginx/$sslname.key ;
     location / { return 200 "OK"; }
   }
источник

EN

E Nemo in nginx_ru
Vladislav support.od.ua
серты сами выпускаете или Let's Encrypt ?
letsencrypt конечно, мы не CA.
источник

Vs

Vladislav support.od.ua in nginx_ru
acme.sh или certbot ?
источник

AG

Alex Gluck in nginx_ru
Anton Noginov
Ну и, собственно, работает:

/tmp/nginx # curl -sk -D - https://127.0.0.1:38080/
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Fri, 20 Dec 2019 23:52:11 GMT
Content-Type: text/plain
Content-Length: 2
Connection: keep-alive

OK
/tmp/nginx # mv ssl.* ../
/tmp/nginx # curl -sk -D - https://127.0.0.1:38080/
/tmp/nginx # mv ../ssl.* .
/tmp/nginx # curl -sk -D - https://127.0.0.1:38080/
HTTP/1.1 200 OK
Server: nginx/1.16.1
Date: Fri, 20 Dec 2019 23:52:38 GMT
Content-Type: text/plain
Content-Length: 2
Connection: keep-alive

OK


В логе:

2019/12/21 00:52:29 [error] 25976#0: *4 cannot load certificate "/tmp/nginx/ssl.cert": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/tmp/nginx/ssl.cert','r') error:2006D080:BIO routines:BIO_new_file:no such file) while SSL handshaking, client: 127.0.0.1, server: 0.0.0.0:38080
2019/12/21 00:52:29 [info] 25976#0: *4 SSL_do_handshake() failed (SSL: error:1417A179:SSL routines:tls_post_process_client_hello:cert cb error) while closing request, client: 127.0.0.1, server: 0.0.0.0:38080


Конфиг:

    map  $http_ssl $sslname {
     default   'ssl';
   }

   server {
     listen 38080 ssl ;

       ssl_certificate      /tmp/nginx/$sslname.cert ;
       ssl_certificate_key  /tmp/nginx/$sslname.key ;
     location / { return 200 "OK"; }
   }
Замена а не удаление
источник

EN

E Nemo in nginx_ru
certbot - говна кусок. dehydrated.
источник

AN

Anton Noginov in nginx_ru
Alex Gluck
Замена а не удаление
Y U!

Не поленюсь.
источник

RD

R2 D2 in nginx_ru
E Nemo
certbot - говна кусок. dehydrated.
Ворвусь
Можно подробнее расписать данное утверждение?
источник

AG

Alex Gluck in nginx_ru
Anton Noginov
Y U!

Не поленюсь.
Блин, а там же даже при замене дескриптор теряется
источник

AG

Alex Gluck in nginx_ru
Anton Noginov
Y U!

Не поленюсь.
Стой
источник

Vs

Vladislav support.od.ua in nginx_ru
dehydrated чисто bash
надо протестить на FreeBSD
источник

AG

Alex Gluck in nginx_ru
Anton Noginov
Y U!

Не поленюсь.
Если мы делаем фопен, у нас дескриптор на чтение и чтобы  сохранить его, и не вызывать заново фопен мы ничего не сделаем. Только стрейс смотреть
источник