Hướng dẫn bảo mật Varnish với Hitch và Let’s Encrypt cho LEMP trên CentOS/Ubuntu

0
52
Let’s Encrypt là một Certificate Authority mới, hoàn toàn miễn phí và mọi người đề có thể sử dụng nó để cài đặt cho tên miền của minh. Có rất nhiều nhà cung cấp dịch vụ Shared Hosting đã tích hợp sẵn công cụ này vào phần quản lý.

Varnish là một hệ thống cache được dùng để tăng tốc server, đặc biệt là với những hệ thống lớn, có traffic nhiều. Varnish hoạt động bằng cách cache nội dung page lên bộ nhớ RAM và ngay lập tức trả lại cho người dùng khi có yêu cầu mà không phải thông qua PHP hay MySQL xử lý.

varnish-hitch-ls-ssl

Khi kết hợp giữa Let’s Encrypt và Varnish thì đa số thường gặp khó khăn trong việc cấu hình làm thế nào để Varnish cache https. Ở trên google thì có rất nhiều cách để tối ưu, nhưng trong hướng dẫn này mình sẽ trình bày về cách cài đặt Varnish + SSL+ Hitch + Let’s Encrypt để bảo mật.

Xem thêm: Hướng dẫn cài đặt Let’s Encrypt miễn phí

Yêu cầu chuẩn bị

+ Hệ điều hành Linux đã được cài Ubuntu 16 Xenial hoặc CentOS7.

+ Truy cập VPS bằng quyền root.

+ Tên miền đã được trỏ về IP của VPS và không sử dụng ẩn IP của Cloudflare.

+ Tên miền được ví dụ ở đây sẽ là : www.yourdomain.com và yourdomain.com.

Sau khi chuẩn bị những yêu trên xong thì hãy bắt đầu tiến hành cài đặt

Cài đặt Varnish và Hitch

Thêm gói Varnish và Hitch vào Ubuntu hoặc CentOS bằng câu l

Cấu hình Varnish

Sau khi cài đặt Varnish và Hitch thành công. Bạn cần tạo file /etc/varnish/acmetool.vcl  bằng câu lệnh:

Sau đó thì copy nội dung bên dưới vào và dán vào acmetool.vcl   :

Thêm dòng  include "/etc/varnish/acmetool.vcl";  vào file cấu hình của varnish  /etc/varnish/default.vcl để varnish hiểu như đây là 1 file cấu hình khác.

Xem thêm: Hướng dẫn cài đặt Varnish 4.1 cho VestaCP

Trong bài viết này, mình sử dụng port 6086 để bắt Varnish nghe port này từ Hitch và thêm đoạn bên dưới vào file hitch.conf.

Đối với Ubuntu Xenial

Mở /lib/systemd/system/varnish.service  và thêm đoạn dưới vào dòng Extra:

Sau đó khỏi động lại bằng câu lệnh:

Đối với CentOS 7

Mở và chỉnh sửa file  /etc/varnish/varnish.params và thêm đoạn dưới vào hàng cuối cùng:

Ssau đó restart lại dịch vụ:

Vậy là xong phần cấu hình varnish rồi đó, rất dễ dàng phải không.

Cấu hình Hitch

Mở file  /etc/hitch/hitch.conf và copy đoạn bên dưới vào, nhớ là xóa sạch trước khi copy nhé:

Lưu lại và khởi động dịch vụ Hitch lên:

Cài đặt AcmeTool

Không cần giới thiệu thì các bạn cũng biết đây là dịch vụ cung cấp SSL miễn phí – Let’s Encrypt. Chúng ta tiến hành cài đặt :

Ubuntu Xenial

CentOS7 / Red Hat EL7

Cài đặt SSL cho tên miền

Sau khi cài đặt AcmeTool thì bạn chạy lệnh bên dưới để tiến hành cài đặt ssl cho tên miền:

Chương trình sẽ hỏi bạn, bạn chọn theo thứ tự như bên dưới:

Tiếp theo chạy câu lệnh bên dưới để tạo file  dhparams :

Cuối cùng là lấy chứng chỉ cho tên miền:

[intense_alert color=”warning” font_color=”#9c6500″] Lưu ý: Ở file cấu hình vhost thì phải đổi thành port 8080 và VARNISH_LISTEN_PORT=80 nhé[/intense_alert].

Như trên là phần cài đặt cái ứng dụng cần thiết, để hoàn thành toàn bộ thì bạn phải cấu hình file default.vcl để cache được https mà mặc định Varnish không hỗ trợ, xem cấu hình của mình bên dưới để tham khảo đối với WordPress :

Để kiểm tra varnish có hoạt động không thì bạn dùng lệnh  curl -I yourdomain.com và xem số lượt HIT và MISS bằng câu lệnh  varnishstat .

Như vậy là đã xong rồi đó. Chúc các bạn thành công.

Hướng dẫn bảo mật Varnish với Hitch và Let’s Encrypt cho LEMP trên CentOS/Ubuntu
Đánh giá bài viết !

Để lại ý kiến nhận xét tại đây !!

Chưa có bình luận nào cho bài viết này. Bạn hay là người đầu tiên nhé.

    • Xin chào, khách