Ferron: Máy chủ Web An toàn về Bộ nhớ Mới bằng Rust Cho thấy Tiềm năng So với Các Đối thủ Đã Thành lập

BigGo Editorial Team
Ferron: Máy chủ Web An toàn về Bộ nhớ Mới bằng Rust Cho thấy Tiềm năng So với Các Đối thủ Đã Thành lập

Trong bối cảnh cạnh tranh của công nghệ máy chủ web, một đối thủ mới đã xuất hiện. Ferron, một máy chủ web được viết bằng Rust, đang tạo ra sự chú ý trong giới phát triển nhờ các tính năng an toàn bộ nhớ và tuyên bố về hiệu suất. Khi nhu cầu về cơ sở hạ tầng web tiếp tục phát triển, cộng đồng đang đánh giá cách thức người mới này so sánh với các giải pháp đã được thiết lập như Caddy và Nginx.

Hiệu quả Bộ nhớ Nổi bật trong Thử nghiệm Ban đầu

Các bài kiểm tra hiệu suất ban đầu được chia sẻ bởi người tạo dự án cho thấy hiệu quả bộ nhớ ấn tượng so với một số đối thủ cạnh tranh. Trong các bài kiểm tra khi cả HTTPS và HTTP/2 được kích hoạt trong khi phục vụ trang httpd mặc định của Apache, Ferron được báo cáo là vượt trội hơn Caddy 2.9.1 về mức sử dụng bộ nhớ. Theo nhà phát triển, Caddy sử dụng quá nhiều bộ nhớ đến nỗi ở mức 12.600 yêu cầu mỗi giây, hệ thống với RAM 16 GB đã hết bộ nhớ, trong khi Ferron không sử dụng nhiều bộ nhớ như vậy, và bài kiểm tra hiệu suất thành công lên đến 20.000 yêu cầu mỗi giây. Hiệu quả này có thể làm cho Ferron đặc biệt hấp dẫn đối với môi trường hạn chế tài nguyên, mặc dù một số thành viên cộng đồng cho rằng vấn đề bộ nhớ có thể liên quan đến việc thu gom rác của Go hơn là thiết kế của Caddy.

Tính năng Bảo mật Được Xây dựng trên Nền tảng của Rust

Ferron tận dụng các đảm bảo an toàn bộ nhớ của Rust như một điểm bán hàng cốt lõi. Máy chủ web bao gồm các tính năng bảo mật tích hợp như bảo vệ chống lại các cuộc tấn công Slowloris thông qua thời gian chờ tiêu đề yêu cầu có thể cấu hình. Khi được hỏi cụ thể về lỗ hổng này, nhà phát triển đã giải thích rằng Hyper (thư viện HTTP được sử dụng bởi Ferron) có thời gian chờ tiêu đề yêu cầu là 30 giây theo mặc định nếu bộ hẹn giờ được thiết lập. Ferron thiết lập bộ hẹn giờ cho Hyper để thời gian chờ tiêu đề yêu cầu hoạt động, do đó giảm thiểu Slowloris. Sự chú ý đến các nguyên tắc bảo mật cơ bản này phản ánh sự nhấn mạnh ngày càng tăng vào việc xây dựng cơ sở hạ tầng với các nguyên tắc ưu tiên bảo mật.

Tính năng chính của Ferron

  • Được viết bằng Rust với trọng tâm vào bảo mật bộ nhớ
  • Hiệu suất cao sử dụng khả năng bất đồng bộ của Rust
  • HTTP/2 và OCSP stapling được kích hoạt mặc định với HTTPS
  • Bảo vệ chống lại các cuộc tấn công Slowloris
  • Kiến trúc mô-đun để dễ dàng mở rộng
  • Khả năng proxy đảo ngược WebSocket

Thành phần

  • ferron: Máy chủ web chính
  • ferron-passwd: Công cụ tạo mục người dùng với mật khẩu đã được mã hóa

So sánh với Các Giải pháp Đã Thành lập

Cuộc thảo luận của cộng đồng cho thấy sự quan tâm đáng kể về cách Ferron so sánh với các máy chủ web đã được thiết lập như Nginx và Caddy. Một số người dùng xem Ferron như một sự thay thế tiềm năng cho Caddy, với một người bình luận lưu ý:

Đây là một sự thay thế thực sự tốt cho Caddy. Định dạng cấu hình mà Caddy sử dụng đôi khi cảm thấy quá đơn giản hóa khiến các cấu hình phức tạp khó đọc. Trực giác của tôi cho thấy điều này có thể mở rộng tốt hơn mà không trở nên dài dòng hơn.

Tuy nhiên, những người khác chỉ ra rằng việc so sánh một dự án mới với Nginx, vốn có 21 năm lịch sử phát triển, có thể là quá sớm. Nhà phát triển thừa nhận rằng các so sánh hiệu suất đáng chú ý đã loại trừ Nginx, điều này có thể là do lý do tiếp thị hoặc thiên vị trong các so sánh.

Tập hợp Tính năng và Độ Chín muồi của Dự án

Ferron bao gồm nhiều thành phần, bao gồm máy chủ web chính và công cụ tạo mật khẩu. Nó hỗ trợ HTTP/2 và OCSP stapling theo mặc định khi HTTPS được kích hoạt. Mặc dù nó chưa hỗ trợ các giao thức chuyên biệt như DTLS cho WebRTC (mà ngay cả Nginx cũng chỉ hỗ trợ thông qua bản vá), nó có thể hoạt động như một proxy đảo ngược WebSocket cho việc báo hiệu trong các ứng dụng WebRTC.

Dự án vẫn đang trong giai đoạn đầu, với kho lưu trữ cho thấy đó là một công việc đang tiến hành. Hướng dẫn cài đặt đang chờ một phiên bản ban đầu, mặc dù các nhà phát triển quan tâm có thể xây dựng từ mã nguồn bằng cách sử dụng Cargo, trình quản lý gói của Rust.

Khi công nghệ máy chủ web tiếp tục phát triển, Ferron đại diện cho xu hướng đang diễn ra của việc triển khai lại cơ sở hạ tầng quan trọng bằng các ngôn ngữ an toàn bộ nhớ. Mặc dù còn quá sớm để dự đoán liệu nó sẽ thách thức sự thống trị của các giải pháp đã được thiết lập hay không, phản ứng ban đầu của cộng đồng cho thấy có sự quan tâm thực sự đến các giải pháp thay thế ưu tiên an toàn bộ nhớ và hiệu suất.

Tham khảo: ferronweb/ferron