Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "CNTT" các nội dung bạn quan tâm.

Bài 43. Restore web server và reverse proxy

ICT

Hình minh họa dùng Filezilla thôi. Chứ từ rất lâu rồi mình không dùng Filezilla nữa. Chủ yếu dùng terminal hoặc lắt nhắt thì dùng VS Code. VS Code có thể kết nối trực tiếp với server và làm việc với các file/folder như ở local.

1. Vì sao web server và reverse proxy phải được phục hồi riêng?

Trong nhiều sự cố thực tế:

  • Database vẫn còn

  • File dữ liệu vẫn đủ

  • Nhưng dịch vụ không truy cập được từ bên ngoài

Nguyên nhân thường nằm ở:

  • Web server (Nginx / Apache)

  • Reverse proxy

  • TLS / routing / firewall

Web server và reverse proxy là “cửa ngõ”,
sai một cấu hình là toàn hệ thống im lặng.

📌 Do đó, restore hai thành phần này không được xem nhẹ.


2. Vai trò khác nhau trong kiến trúc hệ thống

2.1. Web server

Web server chịu trách nhiệm:

  • Phục vụ HTTP/HTTPS

  • Kết nối application runtime

  • Truy cập file system

  • Thực thi rule rewrite, security

📌 Lỗi web server thường gây 500 / 403 / 404.


2.2. Reverse proxy

Reverse proxy chịu trách nhiệm:

  • Định tuyến request

  • Terminate TLS

  • Load balancing

  • Bảo vệ backend

📌 Lỗi reverse proxy thường gây không truy cập được từ Internet, dù backend vẫn chạy.


3. Nguyên tắc chung khi restore web layer

Trước khi restore:

  • Không vội bật dịch vụ public

  • Ưu tiên restore cấu hình trước

  • Restore theo thứ tự từ trong ra ngoài

📌 Đừng để người dùng thấy hệ thống “nửa sống nửa chết”.


4. Restore web server (Nginx / Apache)

4.1. Những thành phần cần restore

  • Cấu hình chính:

    • /etc/nginx

    • /etc/apache2

  • Virtual host / server block

  • TLS config (không bao gồm private key nếu quản lý riêng)

  • User / group chạy service

  • Module / extension

📌 Cấu hình quan trọng hơn binary – binary có thể cài lại.


4.2. Trình tự restore web server chuẩn

  1. Cài đặt web server

  2. Restore cấu hình

  3. Kiểm tra syntax

  4. Restore site / vhost

  5. Restore file permission

  6. Start service (chưa public)

  7. Test nội bộ

📌 Không start service khi chưa kiểm tra cấu hình.


4.3. Những lỗi thường gặp khi restore web server

  • Thiếu module

  • Sai permission

  • Sai path file

  • Sai user chạy PHP / app

📌 Lỗi nhỏ nhưng gây downtime lớn.


5. Restore reverse proxy

5.1. Thành phần cần restore

  • Cấu hình routing

  • Upstream / backend mapping

  • TLS certificate và private key

  • Firewall / port

  • Health check

📌 Reverse proxy không có dữ liệu nghiệp vụ, nhưng rất nhiều cấu hình nhạy cảm.


5.2. Trình tự restore reverse proxy chuẩn

  1. Cài OS / package

  2. Restore firewall cơ bản

  3. Restore proxy config

  4. Restore TLS

  5. Test backend connectivity

  6. Test từ mạng nội bộ

  7. Mở public Internet

📌 Luôn test nội bộ trước khi mở Internet.


6. Restore TLS và chứng chỉ – điểm hay gây lỗi nhất

Cần làm rõ:

  • Chứng chỉ lấy từ đâu

  • Private key lưu ở đâu

  • Tự động gia hạn hay thủ công

📌 Thiếu private key = không phục hồi được TLS.


7. Restore web server trong kiến trúc nhiều node

Với hệ thống:

  • Nhiều web server

  • Có load balancer

Nguyên tắc:

  • Restore một node trước

  • Test hoàn chỉnh

  • Sau đó nhân bản sang các node khác

📌 Không restore đồng loạt khi chưa có node mẫu thành công.


8. Reverse proxy trong kịch bản DR

Trong DR:

  • Reverse proxy thường được dựng mới

  • Trỏ tạm về backend DR

  • DNS có thể phải đổi

📌 Reverse proxy là điểm chuyển hướng chiến lược trong DR.


9. Những sai lầm phổ biến

  • Chỉ restore backend, quên proxy

  • Restore config nhưng quên firewall

  • Bật public khi chưa test

  • Không kiểm tra TLS

  • Không ghi nhận thay đổi cấu hình


10. Checklist restore web server & reverse proxy

Web server

  • Cấu hình đúng

  • Permission đúng

  • Module đầy đủ

  • Test nội bộ OK

Reverse proxy

  • Routing đúng

  • TLS hoạt động

  • Backend reachable

  • Public sau cùng


11. Liên hệ với hệ thống thực tế

Trong hệ thống:

  • Dịch vụ cho người bệnh

  • Webapp nội bộ

  • Hệ thống đa site

Restore đúng web layer giúp:

  • Dịch vụ trở lại nhanh

  • Tránh lỗi “backend sống – frontend chết”

  • Giữ trải nghiệm người dùng


 

Dữ liệu có thể còn nguyên,
nhưng nếu web server và reverse proxy không phục hồi đúng,
hệ thống vẫn coi như ngừng hoạt động.

Một tổ chức trưởng thành:

  • Restore web layer có trình tự

  • Không vội public

  • Luôn test nội bộ trước

  • Có kịch bản DR cho proxy