Thủ thật config Nginx SSL/TLS tối ưu độ trễ/TTFB

0
37

Kể từ 30/6/2108, Hội đồng tiêu chuẩn bảo mật PCI yêu cầu dừng hỗ trợ SSL 3.0 và TLS 1.0

Đây là các chuẩn mã hoá đã cũ và không còn bảo mật. Ngoài ra, từ 7/2018 Google sẽ đánh dấu các trang sử dụng HTTP là “Không an toàn”. Trong vài năm qua, hơn 70% lưu lượng truy cập của Chrome và 81/100 trang web hàng đầu hiện đang sử dụng HTTPS.

TTFB: Time to first byte, là thuật ngữ chỉ khoảng thời gian mà máy chủ phản hồi lần đầu tiên khi client gửi request đến. Như vậy, chỉ số này càng thấp thì càng tốt.

Cách check:

Kết quả:

Hãy xem các mẹo tối ưu Nginx HTTS cho TTFB tốt hơn và giảm độ trễ:

Bật HTTP/2

HTTP/2 được thêm vào nginx từ bản 1.9.5

Để bật HTTP/2 rất đơn giản, chỉ cần thêm vào:

Để check xem website đã bật HTTP/2 chưa chỉ cần vào trang này: https://http2.pro/

Lưu ý: trong 1 số trường hợp, các thiết bị cũ như điện thoại chạy OS cũ quá có thể không hỗ trợ HTTP/2

Bật SSL session cache

HTTPS cần có handshake giữa server/client. Có thể sử dụng ssl_session_cache để cache các thao tác này giúp cho việc truy cập nhanh hơn. Nó có thể chia sẻ cache giữa tất cả các worker process nginx. 1MB có thể chứa tới 4000 session. Thêm vào phần config certificate:

Tắt SSL session tickets

Tính năng này chưa được triển khai trong nginx, bạn có thể tắt nó đi:

Tắt TLS version 1.0

Như chúng ta đã thảo luận trong phần mở đầu, HTTPS và HTTP/2 là một bước tiến mới nhất, nhanh chóng và an toàn nhất. Vì vậy, TLS 1.0 sẽ bị vô hiệu hóa.

Nếu thấy có đoạn:

Thì sửa thành:

Bật OCSP Stapling

Giảm SSL Buffer size

Kích thước của bộ nhớ đệm được sử dụng để gửi dữ liệu qua HTTPS, mặc định là 16kb, tuy nhiên để giảm thiểu TTFB thì nên để giá trị nhỏ hơn:

Bật HTTP Strict Transport Security (HSTS)

HSTS sẽ giúp máy chủ gửi 1 header tới client để “tuyên bố” rằng, web của tao chỉ được sử dụng HTTPS. Bật cái này có thể giúp website tránh được tấn công hạ cấp, SSL stripping và cookie hijacking.

Nguồn: https://haydenjames.io/nginx-tuning-tips-tls-ssl-https-ttfb-latency/

LEAVE A REPLY

Please enter your comment!
Please enter your name here