Hướng dẫn cài đặt SSL HTTPS cho Nginx với Laradock
3rd Aug 2022Sẽ có một vài trường hợp ở localhost chúng ta cần đến https, tuy nhiên để có được https hơi “xịn” một chút với chứng chỉ SSL thì hôm nay mình sẽ chia sẻ về cách tạo chứng chỉ SSL cho localhost.
Dựng server https với nginx.
Đầu tiên chúng ta sẽ dựng một server sử dụng nginx. Các bạn có thể tham khảo bài hướng dẫn lần trước của mình ở đây. Truy cập vào đường dẫn https://localhost:8880 thì ta sẽ thấy ứng dụng Laravel chạy ngon nghẻ.
Khi mình cố gắng truy cập vào đường dẫn https://localhost:8843 thì sẽ gặp lỗi như sau:
Để có thể sử dụng https, chúng ta sẽ xử lý một chút ở đây. Trong file laradock > nginx > sites > default.conf
Chỉ cần bỏ đoạn comment này và build lại nginx là chúng ta có thể sử dụng https.
Đây là kết quả, chúng ta đã có thể sử dụng server với https, tuy nhiên sẽ có cảnh báo của trình duyệt là Not Secure.
Tạo chứng chỉ SSL.
Mình sẽ tạo một cái chứng chỉ SSL fake bằng cách sử dụng repository https://github.com/tbson/localca này. Các bạn clone về rồi làm theo file README là okie.
git clone https://github.com/tbson/localca cd localca chmod +x generate ./generate localhost
Chúng ta sẽ chỉ cần điền một vài thông tin cơ bản là có thể generate một cái chứng chỉ SSL “xịn xò” rồi.
Tiếp theo thì copy các key trong folder localhost để thay thế các key ssl của nginx
Cuối cùng, chúng ta cần import private key vào trình duyệt để make trust certificate.
- Đối với Chrome, các bạn vào Setting > Security > Manage certificate => chọn tab Authorities. Import file localca.pem trong folder localca phía trên, chọn Trust this certificate for identifying websites
Kết quả với trang https://localhost:8843 của chúng ta
- Đối với Firefox, các bạn thực hiện như sau. Chọn Preferences. Search từ Certificate. Chọn View Certificates > Authorities > Import. Các bạn lại import file localca.pem vào và chọn Trust this CA to indentify websites.'
Test thứ trang https://localhost:8843 trên Firefox kết quả cũng thành công.
Như vậy mình đã hướng dẫn xong các bạn cách cài đặt SSL HTTPS cho Nginx với Laradock ở môi trường local một cách đơn giản và nhanh gọn. Trong bài viết thì mình 2 cổng http:8880 và https:8843, các bạn hoàn toàn có thể sử dụng cổng 80, 443 mặc định hoặc custom như mình. Hy vọng bài viết hữu ích với các bạn. Xin chào và hẹn gặp lại ở bải viết tiếp theo.
Link tham khảo
https://leehblue.com/add-self-signed-ssl-google-chrome-ubuntu-16-04/
https://superuser.com/questions/104146/add-permanent-ssl-certificate-exception-in-chrome-linux
- 244 views
Add new comment