Cách tạo một trang web HTTPS thay vì HTTP

Tuần trước, Google đã thông báo rằng Chrome 68, sẽ ra mắt vào tháng 7, sẽ đánh dấu tất cả các trang HTTP là “Không an toàn”

Thay đổi theo kế hoạch trong thanh địa chỉ Chrome

Đây là cú huých mạnh nhất để thúc đẩy web hướng tới mã hóa theo mặc định và đã có từ lâu

Mặc dù có rất nhiều bằng chứng nói lên lý do tại sao mọi người nên nhảy vào nhóm HTTPS, nhưng nhiều người vẫn không thấy giá trị của việc cung cấp trang web của họ một cách an toàn

“Tại sao tôi cần cái này cho một blog?”

Tôi đã viết về giá trị của HTTPS trước đây, nhưng chỉ để nhắc lại

  • HTTPS bảo vệ người dùng chống lại
  • HTTPS là bắt buộc để tận dụng nhiều thứ như Công nhân dịch vụ
  • tác động của HTTPS

Nếu bạn không tin, hãy đọc doesmysiteneedhttps. com để có được bức tranh đầy đủ về lý do tại sao mọi trang web nên được phục vụ an toàn

Và nếu bạn vẫn không hiểu, thì cuộc sống sắp trở nên khó khăn hơn rất nhiều đối với bạn

Trong nỗ lực đẩy người dùng ra khỏi các trang web không an toàn, các trình duyệt đã làm xấu mặt các trang web được phục vụ không an toàn trong một số ngữ cảnh nhất định

Chrome 56 bắt đầu xu hướng đó bằng cách đánh dấu các trang có trường đăng nhập nhạy cảm là “Không an toàn” trong khi Chrome 62 mở rộng cảnh báo này cho tất cả các trang HTTP chứa bất kỳ loại trường nhập nào. Ngoài ra, cảnh báo được hiển thị trên tất cả các trang HTTP ở chế độ ẩn danh bất kể chúng có chứa trường nhập liệu hay không

Firefox cũng cảnh báo người dùng khi họ cố gắng điền vào biểu mẫu đăng nhập không an toàn

Giờ đây, Chrome đã quyết định đặt cảnh báo này trên tất cả các trang HTTP trong tương lai. Cuối cùng, biểu tượng bên cạnh nhãn “Không an toàn” sẽ thay đổi và văn bản sẽ có màu đỏ để nhấn mạnh thêm rằng các trang HTTP không thể tin cậy được

Để ngăn người dùng nhìn thấy cảnh báo này trên trang web của bạn, tất cả những gì bạn cần để có chứng chỉ SSL hợp lệ. Tin tốt là, làm như vậy không khó hoặc tốn kém như trước đây. Trên thực tế, tôi sẽ chỉ cho bạn cách triển khai HTTPS miễn phí trên trang web của bạn bằng Cloudflare. Và nó sẽ không mất nhiều thời gian

Tại sao lại là Cloudflare?

CloudFlare có thể giúp bạn bảo mật chứng chỉ SSL miễn phí bất kể bạn có cơ sở hạ tầng phía máy chủ nào. Nó cũng hoạt động cho các trang web được lưu trữ trên các nền tảng không cung cấp quyền truy cập máy chủ, chẳng hạn như Trang GitHub, Ghost và các lượt thích

Bạn không cần phải cài đặt bất cứ thứ gì hoặc viết bất kỳ mã nào. Điều này làm cho nó trở thành một lựa chọn thực sự tuyệt vời để triển khai HTTPS trên trang web của bạn và thời gian thiết lập thực sự không quá 10 phút

Nó cũng cung cấp vô số lợi ích khác về bảo mật và hiệu suất của trang web của bạn mà tôi sẽ không đề cập ở đây. Nhưng tôi sẽ nói một chút về cách nó hoạt động để bạn có thể hiểu rõ về cách nó có thể làm tất cả những thứ đó

Cách thức hoạt động của Cloudflare

Cloudflare nằm ngay giữa lưu lượng truy cập giữa khách truy cập vào trang web của bạn và máy chủ của bạn. Khách truy cập có thể là người bình thường, trình thu thập thông tin và bot (chẳng hạn như bot của công cụ tìm kiếm) hoặc tin tặc. Bằng cách đóng vai trò trung gian giữa máy chủ web của bạn và khách truy cập vào trang web của bạn, Cloudflare giúp lọc ra tất cả lưu lượng truy cập bất hợp pháp để chỉ những nội dung tốt mới đi qua

Bây giờ bạn có thể tự hỏi liệu tất cả những điều đó có ảnh hưởng xấu đến tốc độ trang web của bạn hay không, nhưng thực tế thì hoàn toàn ngược lại. Cloudflare có các trung tâm dữ liệu trên toàn cầu, do đó, nó sẽ chỉ sử dụng điểm cuối gần nhất cho khách truy cập của bạn, điều này sẽ giúp trang web của bạn nhanh hơn rất nhiều so với trước đây

Phân phối mạng toàn cầu của Cloudflare

Bây giờ chúng ta đã biết cách thức hoạt động của Cloudflare, hãy xem cách thiết lập trang web trên cơ sở hạ tầng của họ và cách truy cập HTTPS miễn phí. Trọng tâm ở đây sẽ là các tính năng mà Cloudflare cung cấp miễn phí, nhưng xin lưu ý rằng các gói trả phí cũng có sẵn với một loạt các tính năng bổ sung

Thiết lập một trang web mới

Sau khi bạn đăng ký tại Cloudflare, điều đầu tiên cần làm là thêm tên miền và quét các bản ghi DNS

Sau khi quá trình quét hoàn tất, tất cả các bản ghi DNS trên miền sẽ được hiển thị. Bạn có thể chọn các tên miền phụ mà bạn muốn bật Cloudflare và thực hiện bất kỳ sửa đổi mong muốn nào. Khi bạn đã sẵn sàng, hãy nhấp vào Tiếp tục để chuyển sang bước tiếp theo

Chọn gói miễn phí và nhấp vào Tiếp tục

Tiếp theo, bạn sẽ cần thay đổi máy chủ tên trên công ty đăng ký tên miền của mình thành máy chủ do Cloudflare cung cấp. Quá trình thực hiện việc này trên mỗi công ty đăng ký tên miền hơi khác nhau, vì vậy hãy kiểm tra với công ty đăng ký tên miền của bạn

Đây là giao diện của Namecheap

Thay đổi máy chủ tên trong Namecheap

Bây giờ bạn phải đợi các thay đổi máy chủ tên hoàn tất việc truyền bá. Nhấp vào Kiểm tra lại máy chủ tên sau một lúc để xem trang web của bạn hiện có hoạt động trên Cloudflare không. Đây là phần thiết lập lâu nhất và có thể mất tới 24 giờ, nhưng theo kinh nghiệm của tôi thì chỉ mất chưa đầy 5 phút

Khi các bản cập nhật máy chủ định danh của bạn đã được Cloudflare xác thực, trang web của bạn sẽ hoạt động trên dịch vụ

Nếu bạn muốn hoàn toàn chắc chắn rằng cài đặt DNS của mình đã phổ biến ở mọi nơi, DNS của tôi là gì cung cấp một cách để kiểm tra xem miền của bạn phân giải địa chỉ IP nào ở các vị trí khác nhau

Bạn cũng có thể sử dụng dig hoặc nslookup trong dòng lệnh để xác minh cấu hình DNS miền của mình

Trong PHẦN TRẢ LỜI, bạn sẽ thấy Địa chỉ IP mà tên miền của bạn phân giải thành

Bằng cách này, bạn có thể chắc chắn rằng tất cả lưu lượng truy cập vào miền của mình hiện đang được định tuyến qua Cloudflare

Trước khi bạn bắt đầu định cấu hình Cloudflare, hãy đảm bảo rằng trình duyệt của bạn không sử dụng các bản ghi DNS cũ từ bộ đệm của nó. Trong Chrome và Firefox, bạn có thể thực hiện việc này bằng cách xóa lịch sử trình duyệt của mình

Nhận SSL miễn phí

SSL vẫn là một dịch vụ cao cấp và nhiều Tổ chức phát hành chứng chỉ tính phí đáng kể trước khi cấp chứng chỉ SSL. Đó không phải là thứ bạn có thể nhận miễn phí ở mọi nơi, nhưng điều đó đang thay đổi nhanh chóng trong ngành

Comodo tính phí $99. 95/năm cho chứng chỉ SSL

Bây giờ bạn đã có Cloudflare ở giữa lưu lượng truy cập web của mình, bạn sẽ tự động nhận được SSL trên miền của mình. Có thể mất tới 24 giờ để chứng chỉ có hiệu lực, nhưng theo kinh nghiệm của tôi, không mất nhiều thời gian

Bạn có thể kiểm tra xem chứng chỉ trang web của mình có hoạt động hay không trong Cài đặt tiền điện tử

Sau khi chứng chỉ có hiệu lực, hãy tải trang web của bạn lên trình duyệt. Bạn sẽ thấy trang web được cung cấp qua HTTPS và một ổ khóa màu xanh lục đẹp mắt trên thanh địa chỉ

Nếu bạn xem thêm thông tin về chứng chỉ, bạn sẽ thấy Cơ quan cấp chứng chỉ đã cấp chứng chỉ đó (trong trường hợp của tôi là Comodo) và ngày hết hạn. Một trong những điều tuyệt vời về Cloudflare là việc gia hạn chứng chỉ được thực hiện tự động cho bạn, vì vậy đừng lo lắng

Sự khác biệt giữa SSL Linh hoạt, Đầy đủ và Đầy đủ (Nghiêm ngặt)

Cloudflare giúp bạn dễ dàng nhận SSL miễn phí trên trang web của mình mà không cần định cấu hình bất kỳ thứ gì, nhưng không phải lúc nào cũng giống như cung cấp trang web của bạn qua SSL trực tiếp từ nguồn gốc

Có ba triển khai SSL của Cloudflare. Cái đầu tiên mà bạn nhận được theo mặc định là SSL linh hoạt. Trong trường hợp này, lưu lượng truy cập được mã hóa giữa người dùng trang web của bạn và Cloudflare nhưng mã hóa này không chuyển đến máy chủ gốc. Cloudflare vẫn giao tiếp với máy chủ của bạn qua HTTP đơn giản

Điều này có nghĩa là bất kỳ Người ở giữa nào (chẳng hạn như nhà cung cấp mạng) giữa Cloudflare và máy chủ của bạn đều có thể thấy lưu lượng truy cập. Nếu bạn thu thập thông tin nhạy cảm trên trang web của mình, hãy hạn chế sử dụng tùy chọn này

Để mã hóa toàn bộ máy chủ gốc, bạn cần sử dụng triển khai Toàn bộ hoặc Toàn bộ (Nghiêm ngặt). Cái trước yêu cầu bạn cài đặt chứng chỉ hợp lệ trên máy chủ của mình, nhưng tính xác thực của chứng chỉ sẽ không được xác minh để bạn có thể nhận được bằng chứng chỉ tự ký. Mặt khác, việc triển khai Đầy đủ (Nghiêm ngặt) yêu cầu bạn cài đặt chứng chỉ SSL hợp lệ đã được ký bởi Cơ quan cấp chứng chỉ đáng tin cậy

Nếu bạn không muốn mua SSL từ Comodo, bạn có thể nhận chứng chỉ CA gốc miễn phí từ Cloudflare có thể được sử dụng với tùy chọn Đầy đủ hoặc Đầy đủ (Nghiêm ngặt) vì chúng được Cloudflare tin cậy. Nhưng hãy nhớ rằng những chứng chỉ này chỉ được Cloudflare tin cậy nên chúng sẽ ngừng hoạt động nếu bạn quyết định gỡ trang web của mình khỏi cơ sở hạ tầng của Cloudflare

Nếu bạn không kiểm soát môi trường máy chủ của mình, chẳng hạn như nếu trang web của bạn được lưu trữ trên Trang GitHub hoặc các nền tảng tương tự, thì bạn sẽ không thể sử dụng triển khai Đầy đủ hoặc Đầy đủ (Nghiêm ngặt), điều đó có nghĩa là ngay cả khi người dùng của bạn nhìn thấy HTTPS trong thanh địa chỉ,

Nhưng đó vẫn là một cải tiến lớn so với không có HTTPS vì nó sẽ bảo vệ người dùng của bạn khỏi bị Man In The Middled ở phía máy khách

Tăng cường triển khai SSL

Bất kể bạn chọn triển khai SSL nào, vẫn có nhiều cách để củng cố nó để đảm bảo rằng người dùng không bao giờ có thể truy cập trang web của bạn qua HTTP không an toàn. Qualys SSL Labs là một công cụ giúp bạn chạy kiểm tra cấu hình SSL của mình để xem liệu có chỗ nào cần cải thiện không

Mặc dù tôi đạt điểm A trên miền của mình, nhưng nếu bạn đi sâu vào kết quả, bạn sẽ thấy rằng chắc chắn có chỗ để cải thiện trong khía cạnh Trao đổi khóa và Sức mạnh mật mã

Hãy cùng xem một số điều chúng ta có thể làm trong Cloudflare để tăng cường SSL của mình và nhận được xếp hạng cao hơn nữa

Buộc HTTPS ở mọi nơi

Khi bạn đã sử dụng HTTPS, chắc chắn bạn muốn ngăn người dùng truy cập trang web của mình qua kết nối không an toàn. Bạn có thể làm điều này trong Cloudflare bằng cách chuyển hướng 301 tất cả lưu lượng HTTP sang HTTPS

Trong Cài đặt tiền điện tử, hãy tìm tùy chọn Luôn sử dụng HTTPS và Bật tùy chọn này

Bật HTTP Strict Transport Security (HSTS)

trong quá khứ nhưng chúng ta hãy xem lại nó một thời gian ngắn

Vấn đề với việc chỉ chuyển hướng 301 lưu lượng HTTP sang HTTPS là yêu cầu không an toàn ban đầu vẫn đi qua dây, điều đó có nghĩa là nó có thể được đọc bởi bất kỳ ai có quyền truy cập vào lưu lượng

HSTS là một tiêu đề phản hồi khắc phục sự cố đó bằng cách thông báo cho trình duyệt rằng nó không được đưa ra yêu cầu không an toàn tới một trang web trong một khoảng thời gian nhất định

Đây là cách tiêu đề trông giống như

strict-transport-security: max-age=31536000

Khi trình duyệt nhận được tiêu đề này, nó sẽ không đưa ra yêu cầu không an toàn cho trang web của bạn trong 31.536.000 giây tiếp theo (giá trị 1 năm). Thay vào đó, tất cả các yêu cầu HTTP sẽ được nâng cấp nội bộ lên HTTPS trước khi được gửi qua mạng

Nếu bạn muốn ngăn truy cập tất cả các tên miền phụ qua HTTP, bạn sẽ cần chỉ thị includeSubdomains. Bạn cũng có thể thêm chỉ thị preload để cho phép các nhà cung cấp trình duyệt đưa trang web của bạn vào chính trình duyệt dưới dạng chỉ HTTPS

strict-transport-security: max-age=31536000; includeSubdomains; preload

Sau khi bạn đã bật HSTS trên miền của mình, bạn có thể khá chắc chắn rằng một khi ai đó đã tải trang web của bạn qua HTTPS, họ sẽ chỉ có thể truy cập trang web của bạn qua sơ đồ bảo mật.

Vì vậy, trước khi bạn bật HSTS trên trang web của mình, hãy đảm bảo rằng bạn tự tin rằng tất cả lưu lượng truy cập của mình sẽ được phân phát qua HTTPS, nếu không, bạn sẽ gặp sự cố

Để bật tính năng này trong Cloudflare, hãy chuyển đến cài đặt Tiền điện tử và cuộn xuống phần Bảo mật truyền tải nghiêm ngặt HTTP (HSTS). Nhấp vào Thay đổi cài đặt HSTS, bật tất cả các tùy chọn có liên quan và nhấn Lưu

Và đề phòng trường hợp bạn đang thắc mắc, trình duyệt hỗ trợ HSTS khá tốt

Khắc phục tham chiếu lược đồ không an toàn

Nếu bạn nhúng tài nguyên thụ động (chẳng hạn như hình ảnh) vào một trang bảo mật một cách không an toàn, thì trình duyệt vẫn tải tài nguyên đó bình thường. Nó chỉ lấy ổ khóa màu xanh lá cây từ thanh địa chỉ. Bạn có thể xem một ví dụ về lỗi này tại đây

Nếu kiểm tra bảng điều khiển trình duyệt, bạn sẽ thấy một số cảnh báo hoặc lỗi liên quan đến tài nguyên được nhúng không an toàn. Trong trường hợp này nó là

<img class="mixed" src="http://mixed.badssl.com/image.jpg" alt="HTTP image">

Để khắc phục sự cố này, chỉ cần thay đổi lược đồ thành HTTPS và mọi thứ sẽ ổn trở lại.

<img class="mixed" src="https://mixed.badssl.com/image.jpg" alt="HTTP image">

Nếu bạn có nhiều nội dung trong trang web được nhúng không an toàn, việc tìm và sửa từng nội dung có thể khá tẻ nhạt. Nhưng Cloudflare lại có thể giúp bạn ở đây với tính năng Viết lại HTTPS tự động

Để đảm bảo chắc chắn rằng không có nội dung nào trên trang web của bạn có thể được phân phát không an toàn, hãy cân nhắc triển khai một trên trang web của bạn

Bây giờ, hãy xem những thay đổi ở trên đã ảnh hưởng như thế nào đến báo cáo Phòng thí nghiệm SSL của chúng tôi. Tôi đã chạy lại thử nghiệm trên miền của mình và hiện chúng tôi nhận được xếp hạng A+

Nếu bạn kiểm tra các xếp hạng riêng lẻ trong biểu đồ, sẽ không có gì thay đổi nhưng chúng tôi vẫn nhận được triển khai SSL thực sự an toàn miễn phí và chỉ trong vài phút

Các lựa chọn thay thế cho Cloudflare cho SSL miễn phí

Nếu bạn không muốn sử dụng Cloudflare vì lý do nào đó, có nhiều cách khác để bạn có thể đưa trang web của mình lên HTTPS miễn phí. Đây là hai tùy chọn bạn có thể thử

Hãy mã hóa

Nếu bạn có quyền kiểm soát máy chủ của mình, bạn có thể nhanh chóng triển khai HTTPS trên trang web của mình bằng Let's Encrypt. Họ cung cấp chứng chỉ SSL miễn phí kéo dài trong ba tháng và có thể được gia hạn tự động

Ngay cả khi bạn không có quyền truy cập máy chủ, hãy kiểm tra với công ty lưu trữ web của bạn. Một số máy chủ sẽ cho phép bạn sử dụng Let's Encrypt SSL mà không cần cung cấp quyền truy cập shell

Trình quản lý chứng chỉ Amazon AWS

Amazon cũng phát hành và tự động gia hạn chứng chỉ SSL cho khách hàng trên cơ sở hạ tầng Amazon Web Services (AWS) của mình. Bằng cách đó, bạn có thể đặt và bỏ qua HTTPS trên trang web của mình nếu bạn sử dụng các tài nguyên AWS như Cloudfront

Bất kể bạn triển khai HTTPS trên trang web của mình như thế nào, điều quan trọng nhất là đảm bảo bạn thiết lập càng sớm càng tốt để người dùng của bạn nhận được các lợi ích bảo mật mà nó cung cấp và bạn không bỏ lỡ một số tính năng thú vị trong trình duyệt sẽ giúp ích cho bạn.

Nếu bạn thích bài viết này, hãy chia sẻ với những người khác có thể hưởng lợi từ việc đọc nó. Nhân tiện, hãy kiểm tra blog của tôi lúc sinh viên năm nhất. tech cho các bài viết về phát triển web. Cảm ơn vì đã đọc

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Nếu bài viết này hữu ích, hãy tweet nó

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Bạn có thể chuyển HTTP sang HTTPS không?

Nhìn bề ngoài, việc thay đổi từ http sang https khá đơn giản. Mua chứng chỉ SSL, Cài đặt chứng chỉ SSL của bạn trên tài khoản lưu trữ trang web của bạn, Đảm bảo rằng mọi liên kết trang web được thay đổi từ http thành https để chúng không bị hỏng sau khi bạn bật công tắc https và

Làm cách nào để thay đổi HTTP thành HTTPS miễn phí?

Bạn có thể thực hiện việc này trong Cloudflare bằng cách chuyển hướng 301 tất cả lưu lượng truy cập HTTP sang HTTPS . Trong Cài đặt tiền điện tử, hãy tìm tùy chọn Luôn sử dụng HTTPS và Bật tùy chọn này.