Cách bật HTTP/2 (kích hoạt HTTP 2.0) trên Plesk

Hướng dẫn chi tiết cách bật HTTP/2 (kích hoạt HTTP 2.0) trên Plesk - hệ thống quản lý hosting cấp cao được ưa chuộng hiện nay.

Hướng dẫn cách bật HTTP 2.0 trên Plesk

  • Đầu tiên cần đảm bảo rằng Nginx Webserver của bạn đã cập nhật lên phiên bản mới nhất và đang hoạt động.

Cách kiểm tra: Truy cập vào bảng điều khiển Plesk với quyền admin sau đó tìm đến mục Tools & Settings > Server Components Management nhập nginx để tìm kiếm.

Cách bật HTTP/2 (kích hoạt HTTP 2.0) trên Plesk (1)

  • Kiểm tra service có hoạt đông không bằng cách truy cập vào Tools & Settings > Services

Cách bật HTTP/2 (kích hoạt HTTP 2.0) trên Plesk (2)

  • Truy cập vào máy chủ thông qua SSH và bật HTTP 2.0 bằng lệnh:
# plesk bin http2_pref enable
Khi bạn chạy lệnh này Plesk sẽ bật giao thức TLS với mật mã hiện đại và an toàn, webserber sẽ được xây dựng lại. Sau khi hoàn tất tất cả các website trên máy chủ sẽ được hỗ trợ HTTP 2.0.

Để kiểm tra có thể dùng công cụ này: https://tools.keycdn.com/http2-test

Bạn có thể tắt HTTP 2.0 đi nếu không còn nhu cầu nữa bằng lệnh

# plesk bin http2_pref disable

Hỗ trợ ALPN

Để sử dụng được HTTP 2.0 trong Google Chrome, Nginx Webserver phải hỗ trợ ALPN (Application-Layer Protocol Negotiation).

ALPN cho Nginx có sẵn trong Plesk cho các hệ điều hành: CentOS 7, RedHat Enterprise Linux 7, Ubuntu 14.04, Ubuntu 16.04, và Debian 8.

Vì thế HTTP 2.0 do Plesk cung cấp có thể hoạt động tốt với các trình duyệt mới hiện tại.

Xử lý các lỗi phát sinh

Nếu bạn gặp sự cố khi bật HTTP 2.0 cho một trang web hoặc kết quả kiểm tra chỉ hiển thị giao thức HTTP 1.x, hãy thử làm theo các bước bên dưới để khắc phục sự cố:

1. Đảm bảo rằng SSL được bật cho trang web trong phần Hosting Setting của tên miền đang được cấu hình. HTTP 2.0 chỉ được hỗ trợ cho các trang web SSL, vì vậy các trang web không có SSL sẽ tiếp tục hoạt động với HTTP /1.x. Đó là một hạn chế của Nginx Webserver và các trình duyệt web 2. Kiểm tra xem nginx đã được bật chưa:
# plesk sbin nginxmng -s
  • Bật nó nếu cần:
# plesk sbin nginxmng -e
3. Kiểm tra xem gói OpenSSL có phiên bản 1.0.1 trở lên hay không
# rpm -qa | grep openssl
openssl-1.0.1e-42.el6_7.4.x86_64.
  • Kiểm tra xem không có mẫu cấu hình tùy chỉnh nào trong đó

/usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php.

Xóa nó nếu có và tạo lại tệp cấu hình:
# plesk sbin httpdmng --reconfigure-all
  • Ngoài ra, nếu bạn không muốn xóa các cấu hình tùy chỉnh của mình, bạn có thể sửa đổi tệp /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php như bên dưới.
  • Tìm hàng tương tự như
($OPT['default'] ? ' default_server' : '') . ($OPT['ssl'] ? ' ssl' : '') ?>;
  • Và thay thế nó bằng hai hàng sau:
($OPT['default'] ? ' default_server' : '') . ($OPT['ssl'] ? ' ssl' : '') .
($OPT['ssl'] && $VAR->domain->physicalHosting->proxySettings['nginxHttp2'] ? ' http2' : '') ?>;
  • Sau đó, chạy lệnh:
# plesk bin http2_pref enable

4. Trong trường hợp sự cố kết nối SSL với HTTP 2.0 sau khi bật, hãy đảm bảo rằng lệnh ssl_ciphers trong /etc/nginx/conf.d/ssl.conf hoặc trong cấu hình tùy chỉnh nginxDomainVirtualHost.php có giá trị sau:

ssl_ciphers EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20:EECDH+SHA256+AES128:EECDH+SHA384+AES256:EDH+SHA256+AES128:EDH+SHA256+AES256:EECDH+SHA1+AES128:EECDH+SHA1+AES256:EDH+SHA1+AES128:EDH+SHA1+AES256:EECDH+HIGH:EDH+HIGH:AESGCM+AES128:AESGCM+AES256:CHACHA20:SHA256+AES128:SHA256+AES256:SHA1+AES128:SHA1+AES256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!KRB5:!aECDH:!EDH+3DES;

5. Nếu trang web của bạn không hoạt động trong một số trình duyệt sau khi bật HTTP 2.0, điều này có thể là bạn không có mật mã và giao thức cần thiết để hỗ trợ HTTP 2.0. Sử dụng tiện ích sslmng của Plesk để thiết lập các giao thức có sẵn và danh sách mật mã TLS sau khi bạn đã bật HTTP 2.0. Ví dụ: nếu bạn muốn sử dụng chính xác cùng một danh sách mật mã như Plesk, lệnh sẽ như sau:

#plesk sbin sslmng --services=nginx --custom --ciphers="EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20" --protocols="TLSv1 TLSv1.1 TLSv1.2"

Cấu hình sẽ được lưu trữ trong /etc/nginx/conf.d/ssl.conf. Plesk khuyến nghị nên chỉnh sửa tệp này theo cách thủ công.

6. Nếu không có bước nào ở trên hữu ích, hãy liên hệ với bộ phận hỗ trợ kỹ thuật của Plesk hoặc có thể tạo bài viết trên trang diễn đàn của Plesk.

Chúc các bạn thành công!

Nguồn: matbao