Lỗi 521 máy chủ bị sập và cách khắc phục

admin 9 Tháng Sáu, 2019

Lỗi 521 máy chủ bị sập xảy ra do máy chủ web từ chối kết nối từ Cloudflare. Nói cách khác Cloudflare đã cố gắng kết nối với máy chủ gốc của bạn trên cổng 80 hoặc 443 nhưng bị lỗi từ chối kết nối.

>>> Tìm hiểu thêm về Lỗi 522 Connection Timed Out

Nguyên nhân lỗi 521 máy chủ bị sập

Lỗi 521 máy chủ bị sập có hai nguyên nhân gây ra:

Máy chủ web đang ngoại tuyến

Nguyên nhân này được giải thích là quá trình máy chủ web gốc (ví dụ: Apache hoặc Nginx) có thể không chạy hoặc đã bị sập. Trong trường hợp đó:

  • Đảm bảo máy chủ web của bạn đang chạy bình thường.
  • Xem lại nhật ký lỗi của máy chủ để xem nguyên nhân gây ra lỗi.

Cloudflare bị chặn

Máy chủ web hoặc mạng của nhà cung cấp dịch vụ lưu trữ có thể đang chặn các yêu cầu của Cloudflare.

Cloudflare kết nối với máy chủ của bạn từ IP Cloudflare và tất cả lưu lượng truy cập tiếp theo chỉ đến từ một nhóm Cloudflare IP nhỏ hơn. Do đó, một số giải pháp bảo mật phía máy chủ có thể nhầm lẫn việc gia tăng các kết nối hợp pháp từ nhóm IP nhỏ này là sự xâm nhập trái phép, dẫn đến một số IP Cloudflare bị chặn hoặc bị giới hạn.

Để khắc phục Cloudflare hãy cập nhật danh sách tất cả các dải IP của Cloudflare trong tường lửa của máy chủ hoặc bất kỳ phần mềm bảo mật nào khác. Xem danh sách các dải IP của Cloudflare.

Nếu bạn không thể đưa vào danh sách IP Cloudflare, hãy liên hệ với nhà cung cấp dịch vụ thuê máy chủ của bạn.

Khắc phục lỗi 521

Chúng ta có thể sử dụng các công cụ của bên thứ ba như cURL hoặc Telnet để kiểm tra phản hồi của máy chủ gốc.

Kiểm tra với cURL

cURL cho phép bạn mô phỏng một yêu cầu HTTP, vì vậy đây là một công cụ tốt để kiểm tra xem máy chủ gốc có hoạt động tốt không. Bạn có thể chạy cURL thông qua công cụ dòng lệnh Terminal trên Mac OS hoặc Linux.

Chạy lệnh cURL đối với IP máy chủ bằng bản ghi A hoặc CNAME cho tên miền của bạn được hiển thị trong ứng dụng DNS của bảng điều khiển Cloudflare.

curl http://1.2.3.4 -v

Bạn sẽ thấy phản hồi HTTP 200 cùng với HTML của trang web. Một yêu cầu cURL không thành công trông giống như thế này:

# curl 1.2.3.4

curl: (7) Failed to connect to 1.2.3.4 port 80: Connection refused

Kiểm tra với Telnet

Đối với người dùng Windows có thể kiểm tra kết nối bằng Telnet (thông qua Command Prompt ).

Chạy lệnh:

telnet 1.2.3.4 80

Một lỗi, chẳng hạn như:

Unable to connect to remote host: Connection refused

có nghĩa là máy chủ web của bạn hiện đang không chạy hoặc đang bị chặn yêu cầu.

Một lỗi kết nối bị từ chối sẽ được hiển thị:

# telnet 1.2.3.4 80
Trying 1.2.3.4...
telnet: connect to address 1.2.3.4: Connection refused
telnet: Unable to connect to remote host
Chúc các bạn thành công với chia sẻ này. Hãy phản hồi kết quả khắc phục lỗi 521 máy chủ bị sập cho chúng tôi phía dưới.