Định cấu hình cho phép mã hóa đại dương kỹ thuật số

Dinh Cau Hinh Cho Phep Ma Hoa Dai Duong Ky Thuat So



Tên miền của trang web phải có mã hóa SSL / TLS nếu nó có ý định thu hút khách truy cập. Chứng chỉ SSL / TLS cung cấp kết nối mạnh mẽ giữa các máy chủ web và trình duyệt. Trước đó, bảo mật không phải là mối quan tâm lớn. Việc các trang web cung cấp dữ liệu thông qua giao thức HTTP đã được thiết lập là tương đối phổ biến. Ngày nay, kênh được sử dụng để giao tiếp với máy chủ phải được bảo mật, vì tội phạm mạng bao gồm đánh cắp danh tính, gian lận thẻ tín dụng và gián điệp đang gia tăng.

Tổ chức phát hành chứng chỉ (CA) có tên Let’s Encrypt cung cấp chứng chỉ SSL / TLS miễn phí, cho phép mã hóa HTTPS trên máy chủ web. Đây là miền đã được xác minh, vì vậy Địa chỉ IP chuyên dụng là không cần thiết. Bạn nên bật chứng chỉ SSL trên trang web của mình để cải thiện xếp hạng SEO của mình, đặc biệt là trên Google.







Hoạt động của Let’s Encrypt

Let’s Encrypt xác nhận quyền sở hữu miền trước khi cung cấp chứng chỉ. Khi mã thông báo được xác thực, máy chủ xác thực Let’s Encrypt sẽ đưa ra yêu cầu HTTP để lấy tệp và đảm bảo rằng bản ghi DNS của miền trỏ đến máy chủ lưu trữ ứng dụng Let’s Encrypt.



Yêu cầu

Bạn phải làm những việc sau trước khi sử dụng Let’s Encrypt:



Làm theo hướng dẫn trong hướng dẫn thiết lập máy chủ đầu tiên cho Ubuntu 20.04 này, sau khi máy chủ Ubuntu 20.04 được thiết lập, hãy hoàn thành với tường lửa và người dùng không phải root có quyền truy cập sudo.





Tên miền có đăng ký. Trong suốt bài viết này, myfirstproject1.com sẽ được sử dụng. Bạn có thể mua một miền.

Hai bản ghi DNS sau được định cấu hình trên máy chủ của bạn.



  • Bản ghi “myproject1” với myfirstproject1.com trỏ đến địa chỉ IP công cộng của máy chủ của bạn
  • Bản ghi “myproject2” với myfirstproject2.com trỏ đến địa chỉ IP công cộng của máy chủ của bạn.

Nginx nên được cài đặt và bạn phải đảm bảo rằng miền của bạn có khối máy chủ.

Các bước cài đặt Let’s Encrypt trên Digital Ocean

Các bước chính để cài đặt Let’s Encrypt trên đại dương kỹ thuật số là:

Cài đặt Certbot

Phần mềm Certbot là nhu cầu chính để sử dụng Let’s Encrypt để lấy chứng chỉ SSL. Để cài đặt Certbot và plugin Nginx của nó, chúng tôi sử dụng lệnh sau:

Hầu hết các công ty lưu trữ được chia sẻ và một số công ty lưu trữ đám mây kết hợp Certbot hoặc một plugin tương tự trong bảng điều khiển lưu trữ trang web cho phép bạn mua, gia hạn và quản lý chứng chỉ SSL / TLS bằng cách thực hiện một số cú nhấp chuột.

Trong khi “python3-certbot-nginx” là một gói được sử dụng để:

Chứng minh ngay với Let’s Encrypt CA rằng bạn phụ trách trang web.

  • Lưu hồ sơ về thời điểm giấy phép của bạn phải được nâng cấp và khi nào giấy phép sắp hết hạn.
  • Lấy và cài đặt chứng chỉ được trình duyệt tin cậy trên bất kỳ máy chủ web nào.
  • Hỗ trợ bạn thu hồi chứng chỉ nếu có nhu cầu.

Certbot hiện đã sẵn sàng để sử dụng, nhưng một số cài đặt của nó phải được xác nhận trước khi nó có thể tự động thiết lập SSL cho Nginx.

Xác minh cấu hình của Nginx

Certbot sẽ có thể cấu hình SSL tự động. Nó phải có khả năng định vị khối máy chủ thích hợp trong cấu hình Nginx của bạn. Chính xác hơn, nó thực hiện điều này bằng cách tìm kiếm chỉ thị tên máy chủ tương ứng với miền mà bạn yêu cầu chứng chỉ.

Nó phải có chỉ thị tên máy chủ được định cấu hình đúng cách trong khối máy chủ cho miền mà chúng tôi sẽ sử dụng tại “/etc/nginx/sites-available/myfirstproject1.com”.

Mở tệp cấu hình miền bằng nano hoặc trình soạn thảo văn bản khác của bạn để xác minh rằng tệp của bạn sẽ được mở nếu nó tồn tại, hãy đóng trình chỉnh sửa của bạn và thực hiện hành động tiếp theo. Tên máy chủ sẽ giống như “server_name domain_name www.domain_name.com “, Như được hiển thị trong đoạn mã bên dưới.

Nếu nó không thay đổi, nó tương ứng. Xác minh cú pháp của các sửa đổi cấu hình của bạn sau khi lưu tệp và đóng trình chỉnh sửa của bạn. Sử dụng hướng dẫn tiếp theo để kiểm tra:

$ sudo nginx –t

Tải lại Nginx để tải cấu hình đã cập nhật sau khi đảm bảo rằng cú pháp của tệp cấu hình của bạn là chính xác:

$ sudo systemctl tải lại nginx

Giờ đây, Certbot có thể tự động định vị khối máy chủ phù hợp và cập nhật nó. Một systemctl chịu trách nhiệm kiểm tra và quản lý hệ thống systemd và quản lý dịch vụ. Nó đóng vai trò là sự thay thế của System V init daemon và bao gồm một số thư viện, công cụ và daemon quản trị hệ thống.

Bật HTTPS Qua Tường lửa

Các khuyến nghị bắt buộc khuyên bạn nên bật tường lửa UFW. Bạn phải thay đổi cài đặt để cho phép lưu lượng HTTPS.

Tùy chọn trạng thái UFW cho phép chúng tôi xem tình trạng gần đây nhất của UFW. Trạng thái UFW hiển thị danh sách các quy định nếu UFW được kích hoạt. Tất nhiên, nếu bạn có thông tin đăng nhập cần thiết, bạn chỉ có thể chạy lệnh với tư cách người dùng gốc hoặc bằng cách đặt tiền tố bằng sudo.

Bật cấu hình Nginx Full và xóa phụ cấp cấu hình HTTP Nginx không cần thiết để cho phép cả lưu lượng HTTPS:

Đoạn mã trước hiển thị phương pháp cho phép Lưu lượng truy cập hoàn chỉnh từ Nginx và đoạn mã thứ hai chỉ ra cách xóa lưu lượng truy cập khác mà chúng tôi đã cho phép.

Cách nhận chứng chỉ SSL

Với sự trợ giúp của các plugin, Certbot cung cấp một số cách để lấy chứng chỉ SSL. Cấu hình của Nginx và việc tải lại cấu hình sẽ do plugin Nginx xử lý nếu cần.

Sử dụng Certbot để nhận chứng chỉ SSL của miền ngay lập tức. Để chỉ ra miền, cần có đối số “-d”. Một chứng chỉ do Let’s Encrypt cấp cho miền phụ www và miền gốc. Cần phải có chứng chỉ cho cả hai phiên bản vì chỉ có một chứng chỉ cho một trong hai phiên bản sẽ dẫn đến cảnh báo trong trình duyệt nếu khách truy cập xem phiên bản khác. Đối với người dùng mới, certbot yêu cầu bạn cung cấp email của mình cho người đầu tiên và xác nhận rằng bạn đồng ý với các điều khoản dịch vụ.

Nếu điều này thành công, nó sẽ yêu cầu bạn thực hiện lựa chọn của mình và nhấn ENTER. Sau khi cập nhật cấu hình, Nginx sẽ tải lại và xem xét các cài đặt mới. Sau khi hoàn tất, certbot sẽ cho bạn biết rằng thủ tục đã thành công.

Sự kết luận

Trong hướng dẫn này, chúng tôi đã trình bày cách cài đặt và sử dụng certbot phần mềm Let’s Encrypt, lấy chứng chỉ SSL, thiết lập tự động cập nhật chứng chỉ SSL và định cấu hình Nginx. Ngoài ra, chúng tôi cũng cung cấp cho bạn một số ví dụ về các tình huống có thể dẫn đến sự cố biên dịch khi sử dụng Let’s Encrypt Digital Ocean.