Một vài lưu ý khi cấu hình môi trường web
Bạn là một web developer? Bạn nghĩ rằng, chỉ cần tập trung code tốt, code đẹp và làm sao ít bug nhất là được. Còn những công việc khác như cấu hình môi trường dev, deploy code lên staging hay những công việc tương tự như vậy thì không cần quá chú tâm. Nhưng hãy tưởng tượng, vào một ngày đẹp trời, ...
Bạn là một web developer? Bạn nghĩ rằng, chỉ cần tập trung code tốt, code đẹp và làm sao ít bug nhất là được. Còn những công việc khác như cấu hình môi trường dev, deploy code lên staging hay những công việc tương tự như vậy thì không cần quá chú tâm. Nhưng hãy tưởng tượng, vào một ngày đẹp trời, bạn được giao task setting enviroment cho cả team code, hay là deploy code lên stagging lên cho khách hàng. Lúc đó nếu bạn không có sự chuẩn bị trước về kiến thức chắc chắn sẽ lúng túng và gặp nhiều khó khăn. Nhân tiện thời gian gần đây, tôi đang làm nhiều về phần này nên có một vài kinh nghiệm đúc rút được ra trong quá trình làm. Hôm nay rảnh rỗi ngồi viết lại lên đây để cho những bạn chưa từng làm qua những công việc này có thể tham khảo? ^^
Cài đặt SSL (HTTPS)
- SSL là gì? Nếu bạn serch với google với từ khóa này sẽ có vô vàn câu trả lời cho bạn. Tôi xin trích dẫn một trong những đáp án tôi search được ra đây cho các bạn tiện theo dõi
SSL (Secure Sockets Layer) là một công nghệ bảo mật tiêu chuẩn cho việc thiết lập một liên kết được mã hóa giữa máy chủ và máy khách – thường là một máy chủ web (trang web) và một trình duyệt, hoặc một máy chủ mail và mail client (ví dụ, Outlook).
Nhưng trong bài này, tôi không đi sâu tìm hiểu về SSL là gì? cũng như cơ chế hoạt động của nó. Mà trọng tâm bài này của tôi là hướng dẫn mọi người thiết lập cho web server của mình có thể chạy được SSL.
-
Bước 1: Tạo CSR và Private Key
Để chạy được SSL bạn cần phải gửi một CSR(Certificate Signing Request) đến nhà cung cấp SSL. Để tạo CSR và Private Key sử dụng câu lệnh sau:
// Tạo Private Key openssl genrsa 2048 > "path_to_key/ssl.key"
// Tạo CSR openssl req -new -x509 -nodes -days 365 -subj "/C=VN/ST=Ha Noi/L=Ha Noi City/O=Test/OU=Test/CN=Test" -key "path_to_key/ssl.key" -out "path_to_key/ssl.crt"
Trong câu lệnh tạo CSR bạn có thể thấy các ký tự việt tắt như C, ST, ... . nó thay thế cho các câu hỏi khi trạo CSR như sau:
- C: Country Name (2 letter code) [AU]
- ST: State or Province Name (full name) [Some-State]
- L: Locality Name (eg, city) []
- O: Organization Name (eg, company) [Internet Widgits Pty Ltd]
- OU: Organizational Unit Name (eg, section) []
- CN: Common Name (e.g. server FQDN or YOUR name) []
Thay đổi tên file thích hợp với nhu cầu xử dụng của chính mình.
-
Bước 2: Cài đặt SSL Sau khi tạo xong File CSR và Private Key, bước tiếp theo là cài enable chúng trên web server của bạn.
Nginx
Mở file config của nginx trên server và thêm dòng code sau:
server { listen 443; server_name .... root ... ssl on; ssl_certificate /path_to_crt_file/file_name.crt; ssl_certificate_key /path_to_private_file/file_name.key; }
Lưu lại và reload nginx. Sau đó truy cập vào địa chỉ https://your_server_name để xem thành quả nhé.