DirectAdmin là phần mềm quản trị Hosting chuyên nghiệp hiện đang được sử dụng khá phổ biến. Mặc định DirectAdmin sử dụng giao thức HTTP/1.1 trong cấu hình cài đặt (Custombuild 2.0).
Hướng dẫn này áp dụng cho trường hợp sử dụng 2 server là Apache và Nginx, trong đó Apache là Application server và Nginx là Proxy. Nếu cấu hình DirectAdmin của bạn là Nginx chạy độc lập thì cần thay thế file :
/usr/local/directadmin/custombuild/configure/nginx_reverse/configure.nginx
Bằng file
/usr/local/directadmin/custombuild/configure/nginx/configure.nginx
I. HTTP/2 là gì?
HTTP/2 là giao thức mới được phát triển để thay thế HTTP/1.x – hiện đang là mặc định cài đặt trên tất cả các webserver. HTTP/2 là phiên bản hoàn toàn mới không phải bản chỉnh sửa của HTTP/1.x. Nó nhanh hơn, đơn giản hơn và mạnh hơn HTTP/1.x.
HTTP/2 có bộ khung nhị phân hoàn toàn mới và theo đó không áp dụng ngược trở lại cho HTTP/1.x. Tuy nhiên HTTP/2 vẫn sử dụng các khái niệm và ngữ nghĩa mấu chốt của giao thức cũ mà chỉ thay đổi các quy định khuôn dạng dữ liệu truyền trên giao thức ngoài ra bổ sung thêm khái niệm “quyền ưu tiên” và “server push“.
Quý khách có thể tham khảo thêm chi tiết HTTP/2 ở link sau :
– Ưu điểm của HTTP/2 :
Tăng hiệu suất vận hành của giao thức thông qua Giảm độ trễ khi phản hồi tới người dùng cuối (Clients) và Sử dụng tài nguyên mạng của máy chủ (Server Push).
http1-vs-http2
II. Hướng dẫn nâng cấp HTTP/2 trên Nginx Webserver :
Bước 1: Kiểm tra trạng thái của HTTP/2 :
Để kiểm tra xem server đã được nâng cấp HTTP/2 hay chưa chúng ta sử dụng công cụ trực tuyến https://http2.pro
No HTTP/2 support
Nếu kết quả hiện ra như hình trên thì trang của bạn chưa hỗ trợ HTTP/2, bây giờ chúng ta sang bước kế tiếp.
Bước 2: Tải thư viện OpenSSL 1.0.2
HTTP/2 bắt đầu được hỗ trợ trên 1.0.2, mà thư viện cài đặt của DirectAdmin phổ biến trên phiên bản 1.50 là 1.0.1e.
Lần lượt thực hiện ba lệnh sau:
cd /usr/local/src/
wget -O /usr/local/src/openssl-1.0.2g.tar.gz https://www.openssl.org/source/openssl-1.0.2g.tar.gz
tar -xvzf openssl-1.0.2g.tar.gzwget -O /usr/local/src/openssl-1.0.2g.tar.gz https://www.openssl.org/source/openssl-1.0.2g.tar.gz
Bước 3: Tạo cấu hình riêng cho Nginx
Mục đích của bước này là tạo ra bộ file cấu hình riêng của bạn, không nên sửa trực tiếp vào file mặc định của DirectAdmin.
Tạo thư mục lưu cấu hình riêng
mkdir -p /usr/local/directadmin/custombuild/custom/nginx/conf
mkdir -p /usr/local/directadmin/data/templates/custom/
Tham số -p có nghĩa là tạo thư mục theo đường dẫn, việc này sẽ rút ngắn quá trình tạo thư mục
Sao chép file cấu hình Nginx
Sao chép 3 file cấu hình của Nginx là vào thư mục custom vừa tạo
- nginx-vhosts.conf
- nginx_server_secure.conf
- nginx_server_secure_sub.conf
Thực hiện lần lượt lệnh copy file như sau:
cp /usr/local/directadmin/custombuild/configure/nginx/conf/nginx-vhosts.conf /usr/local/directadmin/custombuild/custom/nginx/conf/nginx-vhosts.conf
cp /usr/local/directadmin/data/templates/nginx_server_secure.conf /usr/local/directadmin/data/templates/custom/nginx_server_secure.conf
cp /usr/local/directadmin/data/templates/nginx_server_secure_sub.conf /usr/local/directadmin/data/templates/custom/nginx_server_secure_sub.conf
Sửa file nginx-vhosts.conf
bằng lệnh
vi /usr/local/directadmin/custombuild/custom/nginx/conf/nginx-vhosts.conf
Tìm dòng
# HTTPS server
server {
listen |IP|:|PORT_443| ssl|SPACE_HTTP2|;
listen 127.0.0.1:|PORT_443| ssl|SPACE_HTTP2|;
listen [::1]:|PORT_443| ssl|SPACE_HTTP2|;
Đổi đoạn ssl|SPACE_HTTP2| thành ssl http2
Kết quả sẽ như sau:
server {
listen |IP|:|PORT_443| ssl http2;
listen 127.0.0.1:|PORT_443| ssl http2;
listen [::1]:|PORT_443| ssl http2;
Lưu lại sửa đổi.
Sửa file nginx_server_secure.conf
bằng lệnh:
vi /usr/local/directadmin/data/templates/custom/nginx_server_secure.conf
Tìm dòng:
listen |IP|:|PORT_443| ssl;
Sửa thành:
listen |IP|:|PORT_443| ssl http2;
Lưu lại sửa đổi.
Sửa file nginx_server_secure_sub.conf
bằng lệnh:
vi /usr/local/directadmin/data/templates/custom/nginx_server_secure_sub.conf
Tìm dòng:
listen |IP|:|PORT_443| ssl;
Sửa thành:
listen |IP|:|PORT_443| ssl http2;
Lưu lại sửa đổi.
Bước 4: Tạo cấu hình biên dịch lại Nginx
Sửa file configure.nginx
Trước khi sửa file để đảm bảo an toàn cần backup, thực hiện các lệnh như sau:
cd /usr/local/directadmin/custombuild/configure/nginx_reverse/
tar -czf configure.nginx.default.tar.gz configure.nginx
Sau khi backup thì sửa file bằng lệnh:
vi /usr/local/directadmin/custombuild/configure/nginx_reverse/configure.nginx
Tìm đến đoạn quy định http_v2_module như sau:
“–with-http_v2_module” \
“–with-cc-opt=’-D FD_SETSIZE=32768′”
Thêm vào giữa 2 dòng trên đoạn đường dẫn chưa mã nguồn OpenSSL 1.0.2 đã tải ở trên:
“–with-openssl=/usr/local/src/openssl-1.0.2g” \
Kết quả trông như sau:
“–with-http_v2_module” \
“–with-openssl=/usr/local/src/openssl-1.0.2g” \
“–with-cc-opt=’-D FD_SETSIZE=32768′”
Lưu lại sửa đổi.
Bước 5: Thực hiện Rebuild lại Nginx
Ghi vào Task queue
echo “action=rewrite&value=nginx” >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d
Chạy Update để DiectAdmin build lại cấu hình Nginx
Thực hiện lần lượt các lệnh sau:
cd /usr/local/directadmin/custombuild
./build nginx_apache
./build rewrite_confs
service nginx restart
Quá trình cài đặt mất vài phút, đến khi Nginx khởi động lại thành công thì hãy kiểm tra lại bằng công cụ https://http2.pro
Nếu kết quả hiện ra như trên hình thì đã nâng cấp thành công HTTP/2
Xem thêm các hướng dẫn khác về Directadmin tại đây
P.A Việt Nam cung cấp đa dạng các cấu hình Máy Chủ Ảo và Máy Chủ Riêng :
Cloud Server
Cloud Server Pro
Máy Chủ Riêng
Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-tuc-chuong-trinh-khuyen-mai-ten-mien-hosting.html