1. Tích hợp OpenSSL vào Nginx
Đầu tiên, Chúng ta cần tải về source mới nhất của Nginx tại: Nginx Download và OpenSSL Source.
– Đối với OpenSSL, có thể sử dụng phiên bản 1.0.2x hoặc dòng Stable 1.1.0x
– Các phiên bản đã test thành công: Nginx 1.12.1 + OpenSSL 1.1.0f, Nginx 1.12.2 + OpenSSL 1.1.0g
1.1. Chuẩn bị – Cài đặt các gói cần thiết
Ở bước này, chúng ta sẽ cài đặt các gói tin cần thiết cho quá trình biên dịch mã nguồn của Nginx
# nginx -V nginx version: nginx/1.12.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled
Đối Với Centos:
$ yum install epel-release gcc-c++ pcre-devel zlib-devel supervisor -y Đối Với Ubuntu: $ apt-get install apt-utils autoconf automake build-essential \ git libcurl4-openssl-dev libgeoip-dev liblmdb-dev \ libpcre++-dev libtool libxml2-dev libyajl-dev \ pkgconf wget zlib1g-dev libssl-dev \ supervisor Tải Source về: $ cd /usr/local/src $ wget http://nginx.org/download/nginx-1.12.2.tar.gz && tar -xzvf nginx-1.12.2.tar.gz $ wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz && tar -xzvf openssl-1.1.0g.tar.gz
1.2. Biên dịch Nginx
Tiến hành biên dịch Nginx với câu lệnh như sau:
$ cd //usr/local/src/nginx-1.12.2
$ ./configure –prefix=/webserver/ \
–with-compat \
–with-http_ssl_module \
–with-http_realip_module \
–with-http_gunzip_module \
–with-http_gzip_static_module \
–with-http_stub_status_module \
–with-http_auth_request_module \
–with-threads \
–with-stream \
–with-http_v2_module
Kết quả hiển thị như dưới là thành công:
Configuration summary + using threads + using system PCRE library + using OpenSSL library: /usr/local/src/openssl-1.1.0g + using system zlib library nginx path prefix: "/webserver/ " nginx binary file: "/webserver/sbin/nginx" nginx modules path: "/usr/lib64/nginx/modules" nginx configuration prefix: "/webserver/" nginx configuration file: "/webserver/nginx.conf" nginx pid file: "/var/run/nginx.pid" nginx error log file: "/var/log/nginx/error.log" nginx http access log file: "/var/log/nginx/access.log" nginx http client request body temporary files: "/var/cache/nginx/client_temp" nginx http proxy temporary files: "/var/cache/nginx/proxy_temp" nginx http fastcgi temporary files: "/var/cache/nginx/fastcgi_temp" nginx http uwsgi temporary files: "/var/cache/nginx/uwsgi_temp" nginx http scgi temporary files: "/var/cache/nginx/scgi_temp"
– Chạy lệnh phía dưới để tiến hành compile Nginx.
$ make $ make install
Đợi tầm 3-5 phút để tiến trình thành công là bạn có thể sử dụng bộ Nginx đã được biên dịch thủ công để làm Webserver.
1.3. Quản Lý Nginx Với Supervisor
$ mkdir -p /var/log/{supervisor,nginx} /var/cache/nginx
$ touch /var/cache/nginx/client_temp
$ vim /etc/supervisor/supervisor.conf
$ supervisorctl reread
$ supervisorctl update
Truy cập website để kiểm tra xem chúng ta đã cài đặt thành công chưa.
2. Cấu hình SSL HTTP/2 trong Nginx Conf
Webserver Nginx trên hệ thống của bạn đã sẵn sàng thiết lập giao thức HTTP/2 giữa Server và Browser. Bạn cần kích hoạt giao thức HTTP2 kèm SSL trong cấu hình Nginx của mỗi site.
Bạn sửa cấu hình Nginx trong block server {…} như sau (chỉnh sửa đối với từng website trong hệ thống).
….
server {
listen 443 ssl http2;
…..
}
Bên cạnh đó, bạn nên cấu hình nâng cao SSL như hướng dẫn cài đặt chứng chỉ SSL hoặc Let’s Encrypt
3. Kiểm tra
Để kiểm tra, các bạn sử dụng công cụ Developer Tools của trình duyệt hoặc kiểm tra qua website.
Kiểm tra trực tiếp các kết nối trình duyệt tới website với công cụ Developer Tools F12 (trình duyệt nào cũng có). Như bạn đã thấy, HocVPS đã dùng HTTP/2, thời gian load lần đầu homepage chỉ là 2.33s.
Lưu ý: Một số phần mềm Antivirus chặn HTTP/2 Protocol nên cần kiểm tra cả ở máy tính khác và check cả Firefox và Chrome.
- Với Chrome, nếu không thấy tab Protocol, bạn hãy nhấn chuột phải ở menu để kích hoạt.
- Với Firefox, các bạn check tab Header trong Network sẽ thấy Version: HTTP/2.0
Bên cạnh đó, bạn có thể kiếm tra qua website HTTP2.pro. Kết quả tích hợp HTTP/2 kèm ALPN là ok.
Hi vọng với bài viết hướng dẫn này, các bạn có thể kích hoạt kết nối giao thức HTTP/2 cho website của mình. Nếu có điều gì thắc mắc, hãy để lại comment bên dưới nhé.
Đăng ký liền tay Nhận Ngay Bài Mới
Subscribe ngay
Cám ơn bạn đã đăng ký !
Lỗi đăng ký !
Add Comment