Lỗi 503 service unavailable: Nguyên nhân và cách sửa
Lỗi 503 service unavailable là mã trạng thái máy chủ trả về khi nó còn sống nhưng tạm thời không nhận thêm yêu cầu. Lỗi này hay xuất hiện lúc website quá tải, đang bảo trì hoặc bị tấn công. Với anh em dùng proxy để thu thập dữ liệu hay quản lý tài khoản, 503 còn có thể đến từ chính proxy. Bài này ProxyVN gom lại nguyên nhân, cách đọc lỗi và cách sửa theo từng vai trò. Tham khảo thêm dịch vụ tại ProxyVN.
Lỗi 503 service unavailable là gì
Lỗi 503 service unavailable thuộc nhóm mã 5xx, tức là lỗi nằm ở phía máy chủ chứ không phải ở trình duyệt của anh em. Theo đặc tả HTTP trong RFC 9110 của IETF, mã 503 nghĩa là máy chủ hiện không xử lý được yêu cầu do quá tải tạm thời hoặc đang bảo trì theo lịch. Chữ quan trọng ở đây là tạm thời: máy chủ báo rằng nó sẽ quay lại, chỉ là chưa phải lúc này.
Điểm khác biệt của 503 so với các lỗi 5xx khác là máy chủ vẫn phản hồi. Nó nhận kết nối, hiểu yêu cầu, rồi chủ động từ chối vì không đủ sức xử lý. Ngược lại, khi máy chủ sập hẳn thì trình duyệt thường chỉ báo không kết nối được, không có mã trạng thái nào cả.

503 service unavailable
Các biến thể thông báo hay gặp
Mỗi máy chủ web và mỗi nền tảng hiển thị lỗi này theo cách riêng, nhưng bản chất vẫn là một mã 503. Anh em có thể gặp những dòng chữ sau:
- 503 Service Unavailable: dạng chuẩn, hay gặp trên Nginx và Apache.
- Service Temporarily Unavailable: thông báo mặc định của nhiều trang chạy Apache.
- HTTP Error 503. The service is unavailable: dạng của máy chủ IIS trên Windows.
- Error 503 Backend fetch failed: thường đến từ lớp cache Varnish khi không lấy được dữ liệu từ máy chủ gốc.
- 503 Service Temporarily Unavailable kèm logo CDN: lỗi phát sinh ở lớp phân phối nội dung đứng trước website.
Nhận ra đúng biến thể giúp anh em đoán được lỗi phát sinh ở tầng nào. Một trang lỗi có logo CDN cho thấy vấn đề nằm giữa CDN và máy chủ gốc, chứ chưa hẳn ở máy chủ gốc.
Header Retry-After đi kèm lỗi 503
Một phản hồi 503 được cấu hình tốt thường kèm header Retry-After. Header này cho biết bao lâu nữa nên thử lại, tính bằng giây hoặc ghi một mốc thời gian cụ thể. Tài liệu Retry-After trên MDN mô tả rõ hai cách ghi này.
Với người dùng bình thường, header này không hiện ra trên màn hình. Nhưng với anh em viết script thu thập dữ liệu, đây là tín hiệu rất có giá trị: tôn trọng Retry-After giúp script không bị coi là đang tấn công máy chủ. Phần sau của bài có ví dụ code đọc header này.
Lỗi 503 service unavailable ảnh hưởng SEO ra sao
Lỗi 503 service unavailable ngắn hạn gần như không gây hại cho thứ hạng. Google xem 503 là tín hiệu tạm thời, nên Googlebot sẽ quay lại sau thay vì gỡ trang khỏi chỉ mục. Hướng dẫn của Google Search Central về lỗi HTTP và lỗi mạng cũng khuyên dùng 503 khi cần tạm dừng website để bảo trì.
Vấn đề chỉ bắt đầu khi 503 kéo dài nhiều ngày. Lúc đó Google có thể giảm tần suất thu thập và dần coi trang là không còn khả dụng. Vì vậy 503 là lựa chọn đúng cho bảo trì ngắn, không phải cách treo website trong thời gian dài.
Nguyên nhân gây lỗi 503 service unavailable
Lỗi 503 service unavailable có nhiều nguồn gốc, nhưng hầu hết quy về một ý: tài nguyên không đủ cho lượng yêu cầu đang đến. Dưới đây là năm nhóm nguyên nhân phổ biến nhất, xếp theo tần suất anh em sẽ gặp trong thực tế.
Máy chủ quá tải tài nguyên
Quá tải là nguyên nhân hàng đầu của lỗi 503. Mỗi máy chủ chỉ có một lượng CPU, RAM và số tiến trình nhất định. Khi lượng truy cập vượt quá ngưỡng đó, máy chủ phải từ chối bớt yêu cầu để không sập hẳn.

Máy chủ quá tải tài nguyên
Tình huống điển hình là đợt khuyến mãi, bài viết lan truyền trên mạng xã hội hoặc một chiến dịch quảng cáo vừa bật. Lượng truy cập tăng gấp nhiều lần trong vài phút, còn gói hosting thì vẫn như cũ. Các gói hosting chia sẻ đặc biệt dễ gặp, vì nhà cung cấp giới hạn tài nguyên cho từng tài khoản.
Quá tải cũng có thể đến từ bên trong. Một truy vấn cơ sở dữ liệu viết kém, một tác vụ chạy nền ngốn RAM, hay một bản sao lưu chạy giữa giờ cao điểm đều có thể đẩy máy chủ tới ngưỡng. Lúc này lượng truy cập không đổi mà website vẫn trả 503.
Website đang bảo trì
Nhiều hệ thống chủ động trả 503 khi đang cập nhật. WordPress là ví dụ dễ thấy nhất: trong lúc cập nhật lõi hoặc plugin, nó tạo một file .maintenance và trả thông báo bảo trì kèm mã 503. Nếu quá trình cập nhật bị ngắt giữa chừng, file này còn nằm lại và website kẹt ở trạng thái bảo trì.
Đây là kiểu 503 lành tính, miễn là có thời hạn. Quản trị viên tốt sẽ kèm Retry-After và một trang thông báo rõ thời gian dự kiến mở lại. Người dùng biết phải chờ, còn công cụ tìm kiếm biết phải quay lại sau.
Plugin, theme hoặc mã nguồn lỗi
Mã nguồn lỗi có thể khiến tiến trình xử lý treo hoặc chết liên tục. Khi bộ xử lý PHP-FPM hay ứng dụng Node.js không trả lời kịp, máy chủ web đứng trước nó sẽ trả 503 hoặc 502 tùy cấu hình. Một plugin vừa cập nhật mà xung đột với phiên bản PHP là nguyên nhân rất hay gặp.
Dấu hiệu nhận biết là lỗi xuất hiện ngay sau một thay đổi. Anh em vừa cài plugin, đổi theme hay triển khai bản code mới, và vài phút sau website bắt đầu trả 503. Thay đổi gần nhất luôn là nghi phạm đầu tiên.
CDN, proxy hoặc DNS cấu hình sai
Website hiện đại thường có nhiều lớp đứng trước máy chủ gốc: CDN, reverse proxy, bộ cân bằng tải. Mỗi lớp này đều có thể trả 503 nếu không liên lạc được với lớp phía sau. Ví dụ, bộ cân bằng tải sẽ trả 503 khi mọi máy chủ phía sau đều bị đánh dấu là không khỏe.
DNS trỏ sai cũng gây ra triệu chứng tương tự. Sau khi đổi máy chủ, nếu bản ghi DNS vẫn trỏ về IP cũ đã tắt dịch vụ, CDN sẽ không lấy được nội dung và trả lỗi. Trường hợp này hay gặp trong vài giờ đầu sau khi chuyển hosting.
Ở phía người dùng, proxy trung gian cũng có thể sinh ra lỗi 503. Proxy hết băng thông, hết số kết nối đồng thời, hoặc không với tới website đích đều có thể trả về mã này. Phần riêng bên dưới sẽ nói kỹ cách phân biệt.
Giới hạn tiến trình hoặc DDoS
Tấn công từ chối dịch vụ phân tán, gọi tắt là DDoS, làm ngập máy chủ bằng hàng loạt yêu cầu giả. Máy chủ dồn hết tài nguyên để xử lý đống yêu cầu đó và không còn sức phục vụ người dùng thật. Kết quả cuối cùng mà người dùng thấy thường chính là lỗi 503.

Tấn công DDoS
Bên cạnh tấn công, các cơ chế giới hạn tốc độ cũng có thể trả 503. Một số hệ thống chống bot và tường lửa ứng dụng web chọn mã 503 thay vì 429 khi phát hiện một IP gửi quá nhiều yêu cầu. Anh em chạy công cụ thu thập dữ liệu mà gặp 503 hàng loạt từ một website vốn đang hoạt động bình thường thì rất có thể đã chạm vào giới hạn này.
Lỗi 503 hiếm khi là một sự cố ngẫu nhiên. Gần như lúc nào cũng có một giới hạn tài nguyên vừa bị chạm tới, việc của anh em là tìm ra giới hạn đó nằm ở đâu.
Lỗi 503 service unavailable khác gì các lỗi 5xx khác
Lỗi 503 service unavailable rất dễ bị nhầm với 500, 502 và 504 vì cả bốn đều báo lỗi phía máy chủ. Hiểu đúng mã giúp anh em đi thẳng vào tầng có vấn đề thay vì thử mò từng thứ. Bài tổng hợp các lỗi máy chủ proxy của ProxyVN có danh sách đầy đủ hơn, còn bảng dưới đây so sánh nhanh bốn mã hay gặp nhất.
Mã lỗi |
Ý nghĩa ngắn |
Máy chủ còn phản hồi |
Nơi thường phát sinh |
Hướng xử lý đầu tiên |
|---|---|---|---|---|
500 Internal Server Error |
Ứng dụng gặp lỗi khi xử lý |
Có |
Mã nguồn, cấu hình ứng dụng |
Đọc log lỗi của ứng dụng |
502 Bad Gateway |
Lớp trung gian nhận phản hồi không hợp lệ |
Có |
Reverse proxy, CDN |
Kiểm tra máy chủ phía sau còn chạy không |
503 Service Unavailable |
Tạm thời không nhận thêm yêu cầu |
Có |
Máy chủ quá tải, bảo trì, giới hạn tốc độ |
Xem tài nguyên và trạng thái bảo trì |
504 Gateway Timeout |
Lớp trung gian chờ quá lâu |
Có |
Reverse proxy, proxy, CDN |
Đo thời gian phản hồi của máy chủ gốc |
Điểm mấu chốt là 503 mang tính chủ động. Máy chủ biết mình đang không đủ sức và chọn từ chối. Trong khi đó 504 là chờ mà không nhận được câu trả lời, anh em có thể đọc thêm trong bài 504 gateway timeout để so sánh cách xử lý.
Lỗi 503 và lỗi 407 khi dùng proxy
Anh em dùng proxy đôi khi lẫn 503 với 407. Lỗi 407 xuất hiện khi proxy đòi xác thực mà thông tin đăng nhập sai hoặc thiếu. Đây là lỗi về quyền truy cập, không phải về tài nguyên. Cách xử lý nằm trong bài sửa lỗi 407 proxy authentication required.
Mẹo phân biệt nhanh: 407 lặp lại ổn định ở mọi yêu cầu cho đến khi anh em sửa user và mật khẩu. Còn 503 thường lúc có lúc không, tăng giảm theo lượng truy cập hoặc theo giờ.
Cách khắc phục lỗi 503 service unavailable
Cách khắc phục lỗi 503 service unavailable phụ thuộc vào việc anh em là người truy cập hay là người quản trị website. Người truy cập chỉ kiểm soát được phía mình, còn quản trị viên mới chạm được vào máy chủ. Phần này tách hai nhóm riêng để anh em làm đúng việc của mình.
Cách xử lý dành cho người dùng
Với người dùng, mục tiêu là loại trừ khả năng lỗi đến từ phía mình. Các bước dưới đây xếp từ nhanh nhất đến tốn thời gian nhất:
- Chờ một lúc rồi tải lại trang: phần lớn lỗi 503 do quá tải tự hết sau vài phút. Nhấn F5 hoặc Ctrl + R sau khoảng 30 giây đến một phút.
- Kiểm tra website có sập với mọi người không: dùng các dịch vụ kiểm tra trạng thái hoặc hỏi người khác mở thử. Nếu ai cũng thấy lỗi thì việc của anh em chỉ còn là chờ.
- Tắt proxy hoặc VPN để thử lại: nếu tắt đi mà website mở bình thường, lỗi nằm ở proxy hoặc VPN chứ không ở website.
- Xóa cache và cookie của website đó: hiếm khi đây là nguyên nhân, nhưng trang lỗi cũ có thể bị trình duyệt lưu lại.
- Đổi DNS: thử DNS công cộng như 1.1.1.1 hoặc 8.8.8.8 nếu nghi DNS của nhà mạng trả kết quả cũ.
- Khởi động lại modem: hữu ích khi nhiều website khác cũng chập chờn cùng lúc.
Nếu đã làm hết mà lỗi vẫn còn trên mọi thiết bị và mọi mạng, vấn đề nằm hẳn ở phía máy chủ. Lúc này anh em nên liên hệ chủ website thay vì tiếp tục thử.
Cách xử lý dành cho quản trị viên
Quản trị viên cần đi theo thứ tự: xác định lớp nào trả 503, rồi tìm giới hạn nào bị chạm tới. Làm ngược lại rất dễ tốn công sửa nhầm chỗ.
- Đọc log trước khi sửa: log lỗi của Nginx, Apache và log ứng dụng cho biết yêu cầu dừng ở đâu. Tìm các dòng xuất hiện cùng thời điểm với lỗi.
- Kiểm tra tài nguyên máy chủ: xem CPU, RAM, dung lượng đĩa và số tiến trình. Ổ đĩa đầy cũng khiến dịch vụ ngừng ghi và trả lỗi.
- Khởi động lại dịch vụ bị treo: PHP-FPM, ứng dụng Node.js hay cơ sở dữ liệu đôi khi kẹt và chỉ cần khởi động lại.
- Tắt plugin hoặc rollback bản code mới: nếu lỗi xuất hiện sau một thay đổi, quay về bản trước là cách nhanh nhất để website sống lại.
- Xóa file .maintenance trên WordPress: nếu website kẹt ở trạng thái bảo trì sau khi cập nhật lỗi.
- Kiểm tra cấu hình CDN và bộ cân bằng tải: xác nhận máy chủ gốc còn được đánh dấu là khỏe và DNS trỏ đúng IP.
- Nâng tài nguyên hoặc bật cache: khi quá tải lặp lại theo mùa, giải pháp lâu dài là tăng tài nguyên hoặc giảm tải bằng cache.
Dưới đây là vài lệnh kiểm tra nhanh trên máy chủ Linux. Đây là ví dụ triển khai chung, anh em điều chỉnh tên dịch vụ theo hệ thống của mình:
# Xem tai CPU, RAM va cac tien trinh nang nhat
top -o %CPU
# Kiem tra dung luong o dia
df -h
# Xem 50 dong log loi gan nhat cua Nginx
sudo tail -n 50 /var/log/nginx/error.log
# Kiem tra trang thai va khoi dong lai PHP-FPM
sudo systemctl status php8.2-fpm
sudo systemctl restart php8.2-fpm
Sau khi xử lý xong, quản trị viên nên ghi lại nguyên nhân và thời điểm. Một sổ ghi chép sự cố đơn giản giúp nhận ra mẫu lặp lại, ví dụ lỗi luôn xuất hiện vào giờ sao lưu hay mỗi lần chạy chiến dịch.
Khi nào nên trả 503 có chủ đích
Không phải lỗi 503 nào cũng xấu. Khi cần bảo trì vài giờ, chủ động trả 503 kèm Retry-After là cách làm được khuyến nghị. Nó tốt hơn nhiều so với để website trả 200 cho một trang trống, vì trang trống có thể bị Google lập chỉ mục thay cho nội dung thật.
Ví dụ cấu hình Nginx dưới đây trả 503 cho mọi yêu cầu trong lúc bảo trì, trừ IP của quản trị viên. Đây là mẫu tham khảo, anh em thay IP và đường dẫn trang thông báo cho phù hợp:
server {
listen 80;
server_name example.com;
set $bao_tri 1;
if ($remote_addr = "203.0.113.10") { set $bao_tri 0; }
location / {
if ($bao_tri = 1) { return 503; }
try_files $uri $uri/ /index.php?$args;
}
error_page 503 @trang_bao_tri;
location @trang_bao_tri {
add_header Retry-After 3600 always;
rewrite ^ /bao-tri.html break;
}
}
Kiểm tra lỗi 503 service unavailable khi dùng proxy
Kiểm tra lỗi 503 service unavailable khi dùng proxy cần thêm một bước: xác định lỗi đến từ website hay đến từ chính proxy. Hai trường hợp này có cách xử lý khác hẳn nhau. Nếu website lỗi thì đổi proxy cũng vô ích, còn nếu proxy lỗi thì chờ website cũng chẳng được gì.

Kiểm tra lỗi 503 khi dùng proxy
Phép thử ba lớp
Phép thử ba lớp là cách nhanh nhất để khoanh vùng lỗi. Anh em gửi cùng một yêu cầu theo ba đường khác nhau và so sánh kết quả:
- Lớp 1, đi thẳng không qua proxy: nếu vẫn ra 503, lỗi nằm ở website. Proxy không liên quan.
- Lớp 2, qua proxy tới một website trung lập: ví dụ một trang trả về IP. Nếu lớp này lỗi, proxy đang có vấn đề.
- Lớp 3, qua proxy tới website đích: nếu lớp 1 và 2 đều ổn mà lớp 3 lỗi, website đích đang chặn hoặc giới hạn IP của proxy.
Lệnh cURL dưới đây thực hiện đúng ba lớp đó. Tùy chọn -I chỉ lấy header để chạy nhanh, -w in ra mã trạng thái và thời gian phản hồi:
# Lop 1: di thang toi website dich
curl -s -o /dev/null -w "%{http_code} %{time_total}s\n" https://example.com
# Lop 2: qua proxy toi trang tra ve IP
curl -s -x http://user:pass@proxy_ip:port https://api.ipify.org
# Lop 3: qua proxy toi website dich, xem day du header
curl -s -I -x http://user:pass@proxy_ip:port https://example.com
Nếu lớp 3 trả về 503 kèm header Server của một dịch vụ chống bot, rất có thể IP proxy đã bị website đích đưa vào diện hạn chế. Anh em có thể kiểm tra thêm danh tiếng của IP đó trước khi đổi sang IP khác.
Lỗi 503 do proxy và lỗi 503 do website
Hai loại 503 này để lại dấu vết khác nhau trong phản hồi. Học cách đọc header giúp anh em biết ngay nên gọi ai, nhà cung cấp proxy hay chủ website.
Dấu hiệu |
503 do website |
503 do proxy |
|---|---|---|
Đi thẳng không qua proxy |
Vẫn lỗi |
Truy cập bình thường |
Header Server |
Tên máy chủ của website hoặc CDN của nó |
Tên phần mềm proxy, ví dụ Squid |
Nội dung trang lỗi |
Giao diện của website |
Trang lỗi mặc định của proxy |
Header Retry-After |
Thường có nếu đang bảo trì |
Hiếm khi có |
Đổi sang IP proxy khác |
Vẫn lỗi |
Thường hết lỗi |
Khi lỗi đến từ proxy, nguyên nhân hay gặp là hết số kết nối đồng thời của gói, IP bị quá tải vì dùng chung, hoặc proxy không phân giải được tên miền đích. Những trường hợp như proxy từ chối kết nối thì triệu chứng khác hẳn, anh em xem trong bài sửa lỗi proxy server is refusing connections và bài máy chủ proxy từ chối kết nối.
Kinh nghiệm chẩn đoán
Kinh nghiệm của đội ProxyVN khi hỗ trợ là đừng kết luận từ một lần thử. Lỗi 503 có tính thời điểm, nên một lần lỗi chưa nói lên điều gì. Hãy chạy cùng một yêu cầu khoảng 20 đến 50 lần rồi tính tỷ lệ lỗi.
Nếu tỷ lệ lỗi tăng dần theo số yêu cầu gửi liên tục, gần như chắc là anh em đang chạm giới hạn tốc độ của website. Nếu tỷ lệ lỗi cao ngay từ đầu và không đổi, khả năng lớn là IP đã bị chặn hoặc proxy đang có sự cố. Ghi chú lại giờ xảy ra lỗi cũng giúp đội hỗ trợ đối chiếu log nhanh hơn.
Xử lý lỗi 503 service unavailable trong script thu thập dữ liệu
Xử lý lỗi 503 service unavailable trong script là chuyện anh em làm thu thập dữ liệu, theo dõi giá hay theo dõi thứ hạng gặp hằng ngày. Script viết ẩu sẽ gửi lại yêu cầu ngay lập tức, càng làm máy chủ quá tải và càng dễ bị chặn. Script viết tốt sẽ lùi lại, chờ đúng thời gian và đổi IP khi cần.
Lùi thời gian theo cấp số nhân
Kỹ thuật chuẩn là exponential backoff: mỗi lần lỗi, thời gian chờ trước lần thử tiếp theo tăng gấp đôi. Thêm một chút ngẫu nhiên vào thời gian chờ giúp nhiều luồng không cùng lúc ập vào máy chủ. Bài viết của Scrapfly về lỗi 503 cũng nhấn mạnh việc giảm tốc độ là cách hiệu quả nhất khi gặp mã này.
Đoạn Python dưới đây là ví dụ triển khai do ProxyVN viết. Nó đọc header Retry-After nếu có, còn không thì lùi theo cấp số nhân, và đổi sang proxy khác sau mỗi lần lỗi:
import random
import time
import requests
PROXIES = [
"http://user:pass@ip1:port",
"http://user:pass@ip2:port",
"http://user:pass@ip3:port",
]
def get_with_retry(url, max_tries=5):
for attempt in range(max_tries):
proxy = PROXIES[attempt % len(PROXIES)]
try:
r = requests.get(url, proxies={"http": proxy, "https": proxy}, timeout=20)
except requests.RequestException as e:
print("Loi ket noi:", e)
r = None
if r is not None and r.status_code != 503:
return r
wait = 2 ** attempt + random.uniform(0, 1)
if r is not None and r.headers.get("Retry-After", "").isdigit():
wait = int(r.headers["Retry-After"])
print("Lan %d bi 503, cho %.1f giay" % (attempt + 1, wait))
time.sleep(wait)
return None
resp = get_with_retry("https://example.com/san-pham")
print(resp.status_code if resp else "That bai sau nhieu lan thu")
Giới hạn số luồng đồng thời
Nhiều anh em mở 50 hay 100 luồng cùng lúc tới một website nhỏ rồi thắc mắc vì sao toàn nhận 503. Website nhỏ thường chạy trên một máy chủ khiêm tốn, 100 luồng đồng thời đủ để làm nó quá tải thật. Lúc này lỗi không do IP bị chặn, mà do chính anh em đang tạo ra tải.
Cách hợp lý là bắt đầu với vài luồng, đo tỷ lệ 503, rồi tăng dần. Khi tỷ lệ lỗi bắt đầu nhích lên, đó là ngưỡng an toàn của website đó. Thu thập chậm mà đều luôn cho nhiều dữ liệu hơn thu thập nhanh mà bị chặn giữa chừng.
Theo dõi tỷ lệ lỗi theo thời gian
Script chạy lâu dài nên ghi lại mã trạng thái của từng yêu cầu. Chỉ cần một file log đơn giản gồm thời gian, IP proxy, URL và mã trạng thái là đủ để phân tích. Từ đó anh em biết IP nào hay bị 503, giờ nào website yếu nhất, và nên giãn tốc độ vào lúc nào.
Một mẹo nhỏ: tách riêng thống kê 503 và 429. Mã 429 gần như luôn là giới hạn tốc độ có chủ đích, còn 503 có thể là quá tải thật. Nhìn hai đường này cạnh nhau giúp anh em hiểu website đang phản ứng với mình ra sao.
Phòng ngừa lỗi 503 service unavailable tái diễn
Phòng ngừa lỗi 503 service unavailable rẻ hơn rất nhiều so với chữa cháy lúc website đang sập. Phần lớn biện pháp dưới đây không tốn nhiều tiền, chỉ cần làm có kế hoạch.
Dành cho chủ website
- Bật cache ở nhiều tầng: cache trang, cache đối tượng và CDN giúp máy chủ gốc không phải xử lý lại mọi yêu cầu.
- Theo dõi tài nguyên liên tục: đặt cảnh báo khi CPU hoặc RAM vượt khoảng 80% để kịp xử lý trước khi chạm trần.
- Thử tải trước sự kiện lớn: trước đợt khuyến mãi, giả lập lượng truy cập dự kiến để biết máy chủ chịu được tới đâu.
- Lên lịch sao lưu và tác vụ nặng vào giờ thấp điểm: ví dụ từ 2 đến 4 giờ sáng.
- Cập nhật plugin trên môi trường thử nghiệm trước: tránh để bản cập nhật lỗi chạy thẳng trên website thật.
- Dùng dịch vụ chống DDoS: các CDN lớn đều có lớp lọc lưu lượng xấu trước khi nó chạm tới máy chủ.
Dành cho anh em dùng proxy
- Chọn gói có đủ số kết nối đồng thời cho khối lượng công việc thật, không chỉ cho lúc chạy thử.
- Phân bổ yêu cầu đều qua nhiều IP thay vì dồn hết vào một IP.
- Giữ tốc độ gửi ở mức người dùng thật có thể đạt được, nhất là với website nhỏ.
- Theo dõi tỷ lệ lỗi theo từng IP để sớm thay IP có dấu hiệu bị hạn chế.
- Đặt thời gian chờ hợp lý: quá ngắn sẽ biến phản hồi chậm thành lỗi giả, quá dài làm script treo vô ích.
Nếu lỗi 503 xuất hiện khi gửi yêu cầu qua proxy, anh em có thể mua proxy ổn định tại ProxyVN, đội hỗ trợ 24/24 sẵn sàng kiểm tra.
Một website không bao giờ trả 503 chưa chắc là website khỏe. Có khi nó chỉ chưa từng gặp ngày đông khách. Chuẩn bị trước luôn rẻ hơn chữa cháy.
Lỗi 503 service unavailable trên các nền tảng phổ biến
Lỗi 503 service unavailable hiện ra hơi khác nhau tùy nền tảng, và mỗi nền tảng có điểm cần kiểm tra riêng. Phần này tóm tắt những chỗ anh em nên nhìn đầu tiên.
WordPress
Trên WordPress, ba thủ phạm quen thuộc là plugin xung đột, theme lỗi và file .maintenance còn sót. Cách thử nhanh là đổi tên thư mục wp-content/plugins qua FTP để tắt toàn bộ plugin. Nếu website sống lại, bật lại từng plugin để tìm ra cái gây lỗi.
Nếu đang dùng hosting chia sẻ, anh em nên xem trang thống kê tài nguyên của nhà cung cấp. Nhiều gói giới hạn số tiến trình đồng thời rất thấp, và chỉ một plugin sao lưu chạy giữa giờ cũng đủ chiếm hết.
Website chạy sau CDN
Khi website đứng sau CDN, trang lỗi 503 thường mang giao diện của CDN đó. Việc đầu tiên là vào thẳng IP máy chủ gốc để xem máy chủ có chạy không. Nếu máy chủ gốc ổn, vấn đề nằm ở kết nối giữa CDN và máy chủ, ví dụ tường lửa chặn dải IP của CDN.
Ứng dụng trong Docker hoặc Kubernetes
Trong môi trường container, 503 hay đến từ bộ cân bằng tải khi không còn container nào ở trạng thái sẵn sàng. Container có thể đang khởi động lại liên tục vì thiếu bộ nhớ, hoặc bài kiểm tra sức khỏe cấu hình quá khắt khe. Lệnh xem trạng thái pod và log của container thường cho câu trả lời nhanh nhất.
Ở các hệ thống microservices có service mesh, proxy đứng cạnh mỗi dịch vụ cũng có thể trả 503 khi bộ ngắt mạch bật. Đây là hành vi có chủ đích, giúp lỗi của một dịch vụ không lan ra cả hệ thống.
Câu hỏi thường gặp về lỗi 503 service unavailable
Lỗi 503 có phải do máy tính của tôi không?
Hầu như không. Lỗi 503 là lỗi phía máy chủ, máy tính của anh em chỉ nhận thông báo. Ngoại lệ là khi anh em đang đi qua proxy hoặc VPN, lúc đó lớp trung gian này có thể là nguồn lỗi.
Lỗi 503 thường kéo dài bao lâu?
Lỗi do quá tải ngắn thường hết sau vài phút. Lỗi do bảo trì kéo dài theo kế hoạch của chủ website, thường từ vài phút đến vài giờ. Nếu kéo dài hơn một ngày, nhiều khả năng website gặp sự cố nghiêm trọng hơn.
Website trả 503 có bị Google phạt không?
Không, nếu lỗi chỉ kéo dài ngắn. Google hiểu 503 là trạng thái tạm thời và sẽ quay lại thu thập sau. Rủi ro chỉ xuất hiện khi 503 kéo dài nhiều ngày liên tiếp.
Vì sao chỉ khi dùng proxy mới gặp lỗi 503?
Có hai khả năng. Một là proxy đang quá tải hoặc gặp sự cố. Hai là website đích nhận ra IP proxy và giới hạn nó. Phép thử ba lớp ở phần trên giúp anh em phân biệt hai trường hợp này trong vài phút.
Nên chờ bao lâu trước khi gửi lại yêu cầu bị 503?
Nếu phản hồi có Retry-After, hãy chờ đúng thời gian đó. Nếu không có, bắt đầu từ khoảng 2 giây rồi tăng gấp đôi sau mỗi lần lỗi. Sau 5 đến 6 lần thất bại liên tiếp, nên dừng lại và kiểm tra nguyên nhân thay vì tiếp tục thử.
Xem thêm:
- 502 Bad Gateway là gì? 12 cách khắc phục hiệu quả
- 504 gateway timeout: 12 cách khắc phục nhanh, dễ làm
Kết luận
Lỗi 503 service unavailable là tín hiệu máy chủ đang tạm thời quá sức, không phải dấu hiệu website đã chết. Người dùng chỉ cần chờ và loại trừ proxy hay mạng của mình, còn quản trị viên cần đọc log để tìm đúng giới hạn bị chạm tới. Cần proxy ổn định, liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam để xử lý dứt điểm lỗi 503 service unavailable.