@tvoyadres

Как уменьшить время ответа SSL на вебсервере?

У меня SSL получает ответ примерно за 200 ms,

5e772b2ce3253561896432.jpeg

но на некоторых сайта я видел меньше 100 ms, каким образом они этого добились

5e772b1f079b6351332230.jpeg

Вот настройки Nginx у сайта
server {
	server_name site.ru www.site.ru;
	ssl_certificate "/var/www/httpd-cert/site/site.ru.crtca";
	ssl_certificate_key "/var/www/httpd-cert/site/site.ru.key";
	ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4;
	ssl_prefer_server_ciphers on;
	ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_buffer_size 4k;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
	add_header Strict-Transport-Security "max-age=31536000;";
	ssl_dhparam /etc/ssl/certs/dhparam4096.pem;
	charset UTF-8;
	index index.php index.html;
	disable_symlinks if_not_owner from=$root_path;
	include /etc/nginx/vhosts-includes/*.conf;
	include /etc/nginx/vhosts-resources/site.ru/*.conf;
	error_log /dev/null crit;
	ssi on;
	set $root_path /var/www/site/data/www/site.ru;
	root $root_path;
	gzip on;
	gzip_comp_level 6;
	gzip_disable "msie6";
	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
	location / {
		location ~ [^/]\.ph(p\d*|tml)$ {
			try_files /does_not_exists @fallback;
		}
		location ~* ^.+(resampled|averaged)\.(jpg|jpeg)$ {
			try_files $uri $uri/ @fallback;
			expires 365d;
		}
		location ~* ^.+\.(avi|bz2?|css|eot|gif|gz|ico|js|mp3|mpe?g|ogg|png|rar|svg|swf|ttf|woff|woff2|zip)$ {
			try_files $uri $uri/ @fallback;
			expires 365d;
		}
		location / {
			try_files /does_not_exists @fallback;
		}
	}
	location @fallback {
		proxy_pass http://127.0.0.1:8080;
		proxy_redirect http://127.0.0.1:8080 /;
		proxy_set_header Host $host;
		#proxy_set_header X-Real-IP $remote_addr;
		#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-For $remote_addr;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_set_header X-Forwarded-Port $server_port;
                proxy_headers_hash_max_size 512;
                proxy_headers_hash_bucket_size 128;
                proxy_connect_timeout 300;
                proxy_send_timeout 300;
                proxy_read_timeout 300;
                send_timeout 300;
		access_log off;
	}
	access_log off;
	listen 192.168.1.22:443 ssl http2;
}
  • Вопрос задан
  • 186 просмотров
Пригласить эксперта
Ответы на вопрос 3
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Можно немного оптимизировать настройки, но все равно 2мя самыми большими пожирателями времени будут сеть (RTT) и процессорное время. Первое можно улучшить расположившись на сервере который физически ближе к вашим клиентам, второе - более мощным процессором. Именно так получают <100ms. Вот например на моем сайте используется стандартный CloudFlare, и как видите тут как раз <100ms. Я пробовал настраивать на самом сервере, но никак не получалось добиться таких же цифр, особенно с учетом того что сервер у меня один, и RTT для разных точек мира будет разный (и часто долгий), а у CloudFlare все-таки баллансировка адекватная:

5e774dca0daf4419180142.jpeg
Ответ написан
Комментировать
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Всё нормально у вас с SSL. Особо тут ничего не поделаешь - первый хэндшейк в любом случае довольно долгий. При последующих запросах будет значительно быстрее всё происходить.
Ответ написан
Комментировать
@tvoyadres Автор вопроса
Я тут прочел что нужно включить OCSP stapling

добавив
ssl_stapling on;
ssl_stapling_verify on;

а еще нужно извлечь, сертификат и прописать его тоже, но нормальную инструкцию по сертификатам Comodo не нашел
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы