Làm cách nào để triển khai Chứng chỉ SSL đáng tin cậy trên môi trường Dev địa phương?

Làm thế nào về việc môi trường phát triển địa phương của bạn có thể truy cập qua HTTPS mà không cần cảnh báo SSL?


Là một nhà phát triển, bạn có thể phải làm việc trên nhiều dự án, ứng dụng khách và ứng dụng web. Một trong những điều kiện tiên quyết để phát triển ứng dụng web là kiểm tra các trang web cục bộ trên trình duyệt trong giai đoạn phát triển. Rất có khả năng ứng dụng bạn đang phát triển sẽ được bảo mật bằng chứng chỉ SSL / TLS trong môi trường sản xuất.

Đồng ý?

Sẽ thế nào nếu bạn phải kiểm tra một số chức năng nhất định tận dụng API của bên thứ ba yêu cầu nguồn gốc là https: //?

Bạn có thể nói chứng chỉ tự ký và không có gì sai với điều đó. Nhưng bạn đã thử truy cập trang web chứng thực tự ký chưa? Bạn vẫn sẽ nhận được cảnh báo chứng nhận trên Chrome và các trình duyệt khác.

Bạn có thấy Không an toàn huy hiệu?

Không tốt, phải không?

Cách tốt nhất để có chứng chỉ SSL hợp lệ trên môi trường phát triển là quản lý CA của chính bạn và có thể với mkcert. Một cách dễ dàng để thực hiện cho phép bạn có một chứng chỉ hợp lệ trên địa chỉ web phát triển cục bộ sau.

  • example.com
  • * .example.com
  • ví dụ
  • localhost
  • 127.0.0.1
  • :: 1

Bạn có thể triển khai mkcert trên macOS, Windows, CentOS, Ubuntu và các hệ điều hành dựa trên UNIX khác. Ví dụ sau là từ Ubuntu.

Điều đầu tiên, hãy để cài đặt các công cụ dịch vụ bảo mật mạng có certutil để quản lý cơ sở dữ liệu chứng chỉ.

cập nhật apt-get
apt-get cài đặt libnss3-tools

Bạn cũng có thể cần đảm bảo bia được cài đặt trên máy chủ của bạn. Nếu không cài đặt bằng lệnh sau.

apt-get cài đặt linuxbrew-Wrapper

và cuối cùng, cài đặt mkcert bằng brew.

bia cài đặt mkcert

Lưu ý: để cài đặt bằng brew, bạn không nên root. và nó được cài đặt trong /home/$USER/.linuxbrew/bin/mkcert

Trong đó $ USER là tên người dùng bạn đã sử dụng để cài đặt

Bây giờ, đã đến lúc cài đặt CA cục bộ trong kho ủy thác hệ thống.

[email được bảo vệ]: ~ / mkcert # /home/framan/.linuxbrew/bin/mkcert -install
Sử dụng CA cục bộ tại "/root/.local/share/mkcert" ✨
CA cục bộ hiện được cài đặt trong cửa hàng ủy thác hệ thống! ⚡️

[email được bảo vệ]: ~ / mkcert #

Và, tiếp theo, tạo chứng chỉ cho môi trường phát triển. Hãy nói rằng bạn sẽ có trang web của bạn trên example.com và bạn có thể sử dụng lệnh sau để lấy chứng chỉ và tệp chính.

[email được bảo vệ]: ~ / mkcert # /home/framan/.linuxbrew/bin/mkcert example.com
Sử dụng CA cục bộ tại "/root/.local/share/mkcert" ✨

Tạo chứng chỉ mới hợp lệ cho các tên sau
– "example.com"

Giấy chứng nhận là tại "./example.com" và chìa khóa tại "./example.com-key.pem" ✅

[email được bảo vệ]: ~ / mkcert #

Tuyệt quá! bây giờ, tôi có chứng chỉ hợp lệ và tệp chính của nó đã sẵn sàng để sử dụng trên Nginx, Apache hoặc các máy chủ web khác của tôi.

Hãy lấy ví dụ về máy chủ HTTP Apache. Nếu chưa, hãy kích hoạt mô-đun SSL và cấu hình.

[email được bảo vệ]: / etc / apache2 # a2enmod ssl
Xem xét setenvif phụ thuộc cho ssl:
Mô-đun setenvif đã được bật
Xem xét mime phụ thuộc cho ssl:
Mô-đun mime đã được kích hoạt
Xem xét sự phụ thuộc socache_shmcb cho ssl:
Kích hoạt mô-đun socache_shmcb.
Kích hoạt ssl mô-đun.
Xem /usr/share/doc/apache2/README.Debian.gz về cách định cấu hình SSL và tạo chứng chỉ tự ký.
Để kích hoạt cấu hình mới, bạn cần chạy:
khởi động lại hệ thống apache2
[email được bảo vệ]: / etc / apache2 #

Theo đề xuất, khởi động lại Apache.

Tại thời điểm này, nếu bạn netstat, bạn sẽ thấy Apache đã bắt đầu với cổng an toàn 443.

[email được bảo vệ]: / etc / apache2 # netstat -anlp | grep 443
tcp6 0 0 ::: 443 ::: * NGHE 11616 / apache2
[email được bảo vệ]: / etc / apache2 #

Nhưng, chúng tôi chưa hoàn thành. Nó bắt đầu với chứng chỉ (giả) mặc định và chúng ta cần thay thế chứng chỉ đó.

Sửa đổi mặc định-ssl.conf bằng tệp vi và thay thế đoạn sau bằng đường dẫn nơi bạn đã tạo tệp khóa và chứng chỉ.

SSLCertertFile /root/mkcert/example.com.pem
SSLCertertKeyFile /root/mkcert/example.com-key.pem

Trước khi khởi động lại Apache, bạn cũng phải thao tác với tệp máy chủ ví dụ.com để nó phân giải thành localhost của bạn thay vì Internet. Khi bạn đã hoàn tất, hãy khởi động lại máy chủ HTTP Apache và truy cập example.com – bạn sẽ thấy chứng chỉ tin cậy đang được phục vụ.

Phần kết luận

Điều này có thể thuận tiện để có một chứng chỉ tin cậy trong môi trường địa phương. Trên đây chỉ là một ví dụ về example.com nhưng bạn có thể làm cho localhost và những người khác. Nếu bạn cần một người ký bên ngoài để cấp chứng chỉ thì hãy xem làm thế nào để có được nó miễn phí.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map