[Nginx] Hướng dẫn cấu hình Nginx bảo trì website với HTTP 503

124

Mã trạng thái HTTP 503 thường được thể hiện nội dung trạng thái rằng website hiện tại không thể truy cập hoặc đang được bảo trì. Mã lỗi 503 thường dùng để thông báo cho khách hàng hoặc người truy cập rằng website đang có vấn đề kĩ thuật tạm thời.

HTTP Status code 503

Lưu ý:
Mã lỗi 503 rất quan trọng trong việc thông báo cho cả ‘search engine‘ rằng website sẽ ngừng phục vụ bot một thời gian luôn. Nếu không set mã lỗi HTTP 503 thì sẽ rất dễ bị đánh rớt hạng trong thời gian bảo trì website.

Thông thường các bạn có thể code tính năng trả lỗi 503 HTTP ngay trong mã nguồn, nhưng giờ trong bài viết này mình muốn đơn giản là tạo 1 file .html thông báo tình trạng bảo trì và cấu hình cho Nginx trả thông báo 503 bảo trì website thì sao nhỉ, cùng đọc tiếp bài viết nhé.

1. Tạo 1 file .html bảo trì website

– Nếu bạn rành code HTML và CSS, bạn có thể tuỳ biến lại nội dung thông báo trang 503 một cách đẹp đẽ hơn. Còn nội dung code ở dưới là nội dung trang 503 đơn giản nhất.

2. Cấu hình Nginx bảo trì trang 503 html

– Bạn sẽ cấu hình điều kiện ‘if‘ trong Virutal Host tương ứng tên miền website bạn đang host trên Nginx Server như sau :

 
Diễn giải:
– Nội dung cấu hình trên như sau : nếu tìm thấy file ‘maintenance_demo.html‘ nằm trong thư mục $document_root (tương ứng /home/cuongquach.com/public_html/) thì hãy trả mã trạng thái HTTP 503. Cấu hình mã trạng thái 503 sẽ được xử lý bởi ‘location @maintenance‘ bằng cách rewrite toàn bộ các đường link truy cập đến tên miền website tương ứng Vhost đang cấu hình, chuyển hướng phục vụ file ‘maintenance_demo.html‘ cho người dùng.

Cấu hình đầy đủ dạng cơ bản sẽ như dưới đây chẳng hạn :

 
– Khởi động lại dịch vụ Nginx để áp cấu hình mới.

3. Trường hợp chỉ cấu hình cho 1 nhóm người truy cập nội dung site trong lúc bảo trì

– Nếu mà bạn muốn cho phép một số người truy cập từ các nguồn IP khác nhau được tiếp xúc với nội dung website thật trong thời gian bảo trì website thì bạn có thể cấu hình như sau :

 
Bạn sử dụng biến $remote_addr để trích xuất lọc thông tin IP của client gửi HTTP request đến nhé. Trong đó ‘x.x.x.x‘ là ip mà bạn muốn truy cập được nội dung website thật trong thời gian bảo trì. Rồi tiếp đến khởi động lại dịch vụ Nginx.

Sau cùng bạn hãy thử truy cập tên miền mà bạn vừa cấu hình xem nào.

Cám ơn các bạn đã theo dõi bài viết nhé.

Đánh giá sao từ người đọc :
[ Tổng : 1 - Trung bình: 5 ]

LEAVE A REPLY