Какой можно ускорить проверку сертификатов Lets'Encrypt?

M
На сайте с 04.08.2011
Offline
102
656

Всем привет!

У меня при соединении с сайтом на установку SSL соединения уходит 180-200 мс.
Используется NGINX + Letsencrypt.


Я вижу, что у многих сайтов, в том числе с сертификатами Letsencrypt, соединение устанавливается за 10-40 мс. Как правило, конечно, они висят на Cloudflare.

У меня на Cloudflare используется DNS хостинг, и можно ли там подключить какой-то аналог Let's Encrypt, я так и не понял - вроде предлагают самоподписанный сертификат или сквозной для сервера.

В общем, вопрос вот какой: если кратко, то что можно сделать, чтобы сократить время установки SSL соединения на http2 TLS1.2?
Можно ли как-то использовать для этого бесплатный Cloudflare?

LEOnidUKG
На сайте с 25.11.2006
Offline
1733
#1

Это где вы такое смотрите про соединения?

Адрес сайта покажите.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
M
На сайте с 04.08.2011
Offline
102
#2
Я смотрю на https://gtmetrix.com
How fast does your website load?Find out with GTmetrix
How fast does your website load?Find out with GTmetrix
  • gtmetrix.com
Set up an alert and get notified when your page underperforms. We'll send you an alert linked to a full report so you can know what happened. See how your page loads on different devices Test your page on a real Android device or on over 30 different Simulated Device options. Analyze your performance with iPhones, iPads, Samsung Galaxy/Note...
lealhost
На сайте с 07.06.2014
Offline
136
#3
mrmvd :
У меня при соединении с сайтом на установку SSL соединения уходит 180-200 мс.

А пинг до сайта какой? А какой пинг до других проверяемых сайтов?

На tls рукопожатие уйдет как минимум ping * 2 мс. Но это как минимум, а остальное зависит от настройки сервера, процессора, битности шифрования приватного ключа сертификата. TLS-рукопожатие по-прежнему остается сложной для процессора процедурой, хотя в TLSv1.3 уже полегче. Соединение с 4096-bit RSA будет происходить дольше, чем с 2048-bit RSA (зависит от процессора, может на процессорах за 500 тысяч рублей разница будет минимальна)

Еще часто для сервера генерируют дополнительный 4096 битный ключ Диффи Хелмана. Получили оценку A+ на ssllabs - получите 300 мс на хандшейк.

lealhost
На сайте с 07.06.2014
Offline
136
#4
mrmvd #:
Я смотрю на https://gtmetrix.com

Сайты за Cloudflare часто используют CDN, а не прямое соединение. Соответственно, низкий пинг - быстрый хандшейк.

Хандшейк происходит с CDN Cloudflare, а не с конечным сервером. Сервер Cloudflare может стоять в нескольких километрах от сервера-тестера "gtmetrix.com".

M
На сайте с 04.08.2011
Offline
102
#5

Вот ещё пример - сервис пушей push.world, у меня по тесту имеет время SSL соединения 13.3 мс, а на нём сидит сертификат Lets Encrypt.
А вот Яндекс с его метрикой имеет то же время на уровне 189 мс.

То есть, дело не в том, кто выпустил сертификат?

Я не понимаю, где здесь тормоз: мой Letsencrypt с московским IP соединяется 197 мс, у push.world тот же Lets encrypt - 13.3 мс.
Если я перееду в CDN, мне это что-то даст в области ускорения рукопожатия?

suffix
На сайте с 26.08.2010
Offline
329
#6
По умолчанию gtmetrix тестирует из Ванкувера, если зарегистрироваться то можно выбрать локацию Лондон (если ваш сервер в Москве или Европе то результат лучше будет).

Клуб любителей хрюш (https://www.babai.ru)
lealhost
На сайте с 07.06.2014
Offline
136
#7
mrmvd #:

Вот ещё пример - сервис пушей push.world, у меня по тесту имеет время SSL соединения 13.3 мс, а на нём сидит сертификат Lets Encrypt.
А вот Яндекс с его метрикой имеет то же время на уровне 189 мс.

То есть, дело не в том, кто выпустил сертификат?

Я не понимаю, где здесь тормоз: мой Letsencrypt с московским IP соединяется 197 мс, у push.world тот же Lets encrypt - 13.3 мс.


push.world имеет DNS Cloudflare, но не использует CDN, можете посмотреть по IP сайта: 91.228.152.132

Данный IP имеет геолокацию в Германии. Не знаю с какой точки вы тестировали, но с Ванкувера результат обычный для такого расстояния (см. прикрепленный файл). С Москвы тоже не может быть 13.3мс на хандшейк с этим сайтом, это за гранью физики.

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

mrmvd #:
Если я перееду в CDN, мне это что-то даст в области ускорения рукопожатия?

Где-то даст, а где-то нет. Если у вас сервер в Европе, то для клиента в США/Канаде - даст. Для РФ может и не дать, потому что у CF, как мне кажется, нет серверов в России.

png zjjbmez.png
WebAlt
На сайте с 02.12.2007
Offline
253
#8

...как мне кажется, нет серверов в России.

В Москве и Питере есть сервера CF.

Евгений Крупченко
На сайте с 27.09.2003
Offline
178
#9
mrmvd #:
сервис пушей push.world, у меня по тесту имеет время SSL соединения 13.3 мс

Давайте для начала проясним куда конкретно вы там смотрите.

Можно скрином показать что там у вас, где эти 13.3мс?

Т.к. я вижу более 300мс:


На сколько понимаю:

+13.1мс - это через 13.1мс от начала запроса (они ушли на dns запрос + blocking) начался коннект, потом внутри этого коннекта началось ssl соединение на 177.7 миллисекунде и продлилось оно 332мс.

Не пользовался этим сервисом, может не туда смотрю, не правильно понимаю что оно пишет? Просветите.


LEOnidUKG
На сайте с 25.11.2006
Offline
1733
#10

На клауде используется TLS 1.3 там в разы быстрее рукопожатие проходит, тут есть в картинках об этом: https://tproger.ru/articles/tls-handshake-explained/

Я не вижу проблему с первичным подключением, если в nginx добавлены строки:

    ssl_session_cache   shared:SSL:100m;
    ssl_session_timeout 1h; 

Это даст в последующем без проблем быстрее подключаться пользователю. 

Поэтому если грубо говоря проблема выдуманная. У меня сервис показывает 177ms рукопожатие длиться.  Это очень быстро по сути. 

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий