- Trang chủ
- ›
- Làm sao khi lỗi HTTP2 không hỗ trợ trên trình duyệt web phiên bản cũ
Làm sao khi lỗi HTTP2 không hỗ trợ trên trình duyệt web phiên bản cũ
Bài viết xin chia sẻ cách xử lý sự cố khi HTTP2 không hỗ trợ trên trình duyệt web phiên bản cũ. Người dùng có thể kiểm tra phiên bản của trình duyệt theo bảng bên dưới:
Giao thức HTTP2
Tại sao xảy ra lỗi này?
Nguyên nhân dẫn đến lỗi HTTP2 không hỗ trợ trên trình duyệt web phiên bản cũ là do NGINX đã loại bỏ bộ mật mã(ciphers) cũ không an toàn, ta cần phải thêm bộ ciphers này trong file cấu hình SSL của NGINX
Cấu hình
Trong bài viết chúng tôi sẽ sử dụng:
– Browser:
Chorme 49/ Windows XP
Firefox 47 / Windows 7
– NGINX
Kết nối đến server thông qua SSH với quyền root, thực hiện điều chỉnh file /etc/nginx/conf.d/ssl.conf
nano /etc/nginx/conf.d/ssl.conf
– Thêm dòng
ssl_ciphers ‘ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:TLS-RSA-WITH-RC4-128-MD5:TLS-RSA-WITH-RC4-128-SHA:TLS-RSA-WITH-3DES-EDE-CBC-SHA:TLS-RSA-WITH-DES-CBC-SHA:TLS-RSA-EXPORT1024-WITH-RC4-56-SHA:TLS-RSA-EXPORT1024-WITH-DES-CBC-SHA:TLS-RSA-EXPORT-WITH-RC4-40-MD5:TLS-RSA-EXPORT-WITH-RC2-CBC-40-MD5:TLS-DHE-DSS-WITH-3DES-EDE-CBC-SHA:TLS-RSA-WITH-AES-128-GCM-SHA256:AES-128-GMC:ECDHE-RSA:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH’;
ssl_prefer_server_ciphers on;
– Lưu file và khởi động lại NGINX
service nginx restart
– Plesk Linux
Kết nối đến server thông qua SSH với quyền root, thực hiện điều chỉnh file nano /etc/sw-cp-server/conf.d/ssl.conf
nano /etc/sw-cp-server/conf.d/ssl.conf
– Thêm dòng
ssl_ciphers ‘ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:TLS-RSA-WITH-RC4-128-MD5:TLS-RSA-WITH-RC4-128-SHA:TLS-RSA-WITH-3DES-EDE-CBC-SHA:TLS-RSA-WITH-DES-CBC-SHA:TLS-RSA-EXPORT1024-WITH-RC4-56-SHA:TLS-RSA-EXPORT1024-WITH-DES-CBC-SHA:TLS-RSA-EXPORT-WITH-RC4-40-MD5:TLS-RSA-EXPORT-WITH-RC2-CBC-40-MD5:TLS-DHE-DSS-WITH-3DES-EDE-CBC-SHA:TLS-RSA-WITH-AES-128-GCM-SHA256:AES-128-GMC:ECDHE-RSA:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS:EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH’;
ssl_prefer_server_ciphers on;
– Lưu file và khởi động lại
service sw-cp-server restart
>>> Bài viết liên quan: Cách Tự khởi động lại MySQL khi máy chủ Linux quá tải
Sau khi hoàn tất bạn có thể mở trình duyệt và kiểm tra lại hoặc sử dụng link bên dưới để kiểm tra
https://www.ssllabs.com/ssltest/analyze.html
HTTP / 2 có một danh sách đen lớn về mật mã cũ và không an toàn, vì vậy chúng ta phải tránh chúng. Bộ mã hóa là một loạt các thuật toán mã hóa, mô tả cách mã hóa dữ liệu.
Tôi khuyên bạn tốt nhất nâng cấp hệ điều hành và trình duyệt web, để phòng tránh những rủi ro về bảo mật. Thường xuyên theo dõi chuyên mục hướng dẫn của VDO về các thao tác cài đặt, xử lý sự cố hệ thống trong các dịch vụ cho thuê server, quản trị máy chủ, Cloud Server.. để có thêm nhiều kiến thức bổ ích