Bỏ qua điều hướng

Reverse proxy là gì? Cách hoạt động và khi nào cần dùng

Reverse proxy đứng trước máy chủ web, nhận yêu cầu thay cho backend để ẩn hạ tầng, cache nội dung và giảm tải — khác hẳn forward proxy vốn phục vụ máy khách.

Tuan Tran Van
20 phút đọc
Mục lục (9 phần)
  1. Reverse proxy là gì?
  2. Reverse proxy khác forward proxy ở chỗ nào?
  3. Reverse proxy giải quyết những vấn đề gì?
  4. Cache ở reverse proxy hoạt động ra sao?
  5. Reverse proxy và load balancer khác nhau thế nào?
  6. Một cấu hình reverse proxy trông như thế nào?
  7. Vì sao IP của client hay bị sai khi đi qua reverse proxy?
  8. Khi nào nên đặt reverse proxy trước ứng dụng của bạn?
  9. Tài liệu tham khảo

Reverse proxy là một máy chủ đứng trước các máy chủ web, đóng vai trò trung gian tiếp nhận yêu cầu từ trình duyệt và chuyển tiếp chúng đến hệ thống backend.

Thay vì kết nối trực tiếp đến server gốc, người dùng tương tác với reverse proxy để lấy tài nguyên. Máy chủ này giúp bảo vệ hạ tầng nội bộ, tối ưu hiệu suất và đảm bảo tính sẵn sàng cao cho dịch vụ.

Một máy chủ trung gian đứng chắn giữa internet và cụm máy chủ web phía sau — hình ảnh chủ đề của bài viết

Reverse proxy là gì?

Về bản chất kỹ thuật, một reverse proxy kiểm soát luồng dữ liệu tại rìa mạng (network edge) trước khi các yêu cầu chạm tới hạ tầng máy chủ gốc nhạy cảm. Khi bạn truy cập một trang web, trình duyệt của bạn không trực tiếp thiết lập kết nối với máy chủ lưu trữ dữ liệu cuối cùng mà gửi gói tin tới máy chủ proxy. Tại đây, reverse proxy chặn (intercept) yêu cầu, xử lý các bước ban đầu như kiểm tra tính hợp lệ hoặc xác thực, sau đó mới đại diện cho máy khách (client) để gửi yêu cầu mới tới hệ thống backend. Quy trình này kết thúc khi proxy nhận phản hồi từ server gốc và trả kết quả đó về cho trình duyệt người dùng.

Đường đi của một yêu cầu: máy khách gửi tới reverse proxy, proxy chuyển tiếp tới máy chủ gốc rồi trả phản hồi ngược lại, máy chủ gốc bị che khuất khỏi internet

Reverse proxy tạo thêm một lớp bảo vệ cho các máy chủ ứng dụng. Thay vì phải đối mặt trực tiếp với hàng triệu kết nối thô từ internet vốn tiềm ẩn nhiều rủi ro, các máy chủ backend chỉ cần tập trung xử lý các yêu cầu đã được thanh lọc từ máy chủ proxy. Điều này giúp các server nội bộ giảm được khối lượng xử lý kết nối, đồng thời cho phép kỹ sư hệ thống triển khai các chiến lược phân phối tải thông minh, đảm bảo không thành phần nào trong hạ tầng bị cạn kiệt tài nguyên khi lưu lượng truy cập tăng đột biến.

Một đặc tính cốt lõi của mô hình này là nó hoàn toàn minh bạch với người dùng cuối. Đối với trình duyệt hoặc ứng dụng di động của bạn, các tài nguyên trả về trông như thể chúng xuất phát trực tiếp từ chính địa chỉ IP của máy chủ proxy đó. Bạn không thể nhận biết được sự hiện diện của một hay nhiều máy chủ gốc nằm phía sau lớp mặt nạ này. Ẩn danh hạ tầng backend giúp ngăn chặn các kỹ thuật thu thập thông tin của tin tặc, bảo vệ cấu trúc mạng nội bộ khỏi môi trường internet công cộng.

Vừa nằm ở rìa mạng vừa điều phối linh hoạt, reverse proxy trở thành công cụ khó thay thế trong các kiến trúc phần mềm hiện đại. Các giải pháp như Nginx hay các dịch vụ CDN (mạng phân phối nội dung) của Cloudflare đều dựa trên nguyên lý này để thực thi chính sách bảo mật. Bằng cách quản lý toàn bộ lưu lượng tại một điểm duy nhất, quản trị viên có thể giám sát, ghi nhật ký và áp dụng đồng nhất các quy tắc lọc gói tin cho toàn bộ hệ thống ứng dụng phía sau.

Reverse proxy khác forward proxy ở chỗ nào?

Để phân biệt hai khái niệm này, bạn hãy nhìn vào hướng phục vụ của máy chủ trung gian. Một forward proxy là máy chủ đứng trước một nhóm máy khách để giải quyết nhu cầu của người dùng. Hãy lấy ví dụ ba máy tính A, B và C, trong đó A là máy tính của bạn, B là forward proxy và C là máy chủ web trên internet. Khi bạn muốn truy cập C, bạn gửi yêu cầu qua B. Proxy B sẽ thay mặt bạn kết nối tới C và trả dữ liệu về. Mục đích ở đây thường là ẩn danh tính của bạn, vượt qua các rào cản địa lý hoặc áp dụng chính sách lọc nội dung cho mạng nội bộ của trường học hoặc doanh nghiệp.

So sánh forward proxy và reverse proxy: forward proxy đứng trước nhóm máy khách để che danh tính người dùng, reverse proxy đứng trước cụm máy chủ gốc để che hạ tầng

Ngược lại, reverse proxy đứng trước các máy chủ gốc để giải quyết nhu cầu của phía cung cấp dịch vụ. Giả sử ta có nhóm máy khách D, máy chủ reverse proxy E và các máy chủ gốc F. Trong kịch bản này, khi bất kỳ người dùng nào từ nhóm D muốn truy cập ứng dụng, yêu cầu bắt buộc phải đi qua máy chủ E trước khi được điều phối tới một trong các server F. Sự khác biệt tinh tế nhưng quan trọng nằm ở hướng bảo vệ: forward proxy đảm bảo không có máy chủ gốc nào trên internet giao tiếp trực tiếp với máy khách của nó, còn reverse proxy đảm bảo không có máy khách nào chạm tới máy chủ gốc của hệ thống.

Bạn có thể coi forward proxy giống như một người đại diện đi mua hàng giúp bạn, để người bán không biết danh tính thực sự của người mua. Còn reverse proxy giống như nhân viên tiếp tân tại một tòa nhà văn phòng lớn. Người tiếp tân tiếp nhận mọi khách đến từ sảnh, kiểm tra giấy tờ, hướng dẫn họ đến đúng phòng ban nhưng không cho phép bất kỳ ai tự ý đi lại trong các khu vực kỹ thuật nhạy cảm. Một bên phục vụ nhóm "người đi mua", một bên phục vụ chủ sở hữu "tòa nhà".

Dưới góc độ kỹ sư hệ thống, sự khác biệt còn nằm ở quyền kiểm soát và cấu hình. Với forward proxy, bạn thường là người cấu hình trình duyệt hoặc mạng cá nhân để đi qua proxy nhằm đạt được sự riêng tư. Với reverse proxy, bạn là người quản trị hạ tầng backend, thiết lập proxy để bảo vệ các server ứng dụng của mình khỏi thế giới bên ngoài. Reverse proxy đóng vai trò "bộ mặt công cộng" duy nhất, che giấu hoàn toàn các địa chỉ IP nội bộ và cấu trúc mạng phức tạp phía sau — điều mà forward proxy không bao giờ làm cho các server internet.

Reverse proxy giải quyết những vấn đề gì?

Vấn đề tiên quyết mà reverse proxy giải quyết là bảo mật hạ tầng, thông qua việc ẩn giấu danh tính thực của server backend. Bằng cách đóng vai trò điểm tiếp nhận duy nhất có địa chỉ IP công khai, nó ngăn tin tặc tấn công trực tiếp vào máy chủ gốc. Các cuộc tấn công từ chối dịch vụ phân tán (DDoS) khi đó chỉ chạm tới lớp proxy, vốn đã được thiết kế với băng thông dồi dào và các bộ lọc chuyên dụng để hấp thụ lưu lượng độc hại, giữ cho các máy chủ ứng dụng bên trong hoạt động ổn định.

Bốn việc reverse proxy làm được: ẩn IP máy chủ gốc để chặn DDoS, SSL/TLS termination, thay đổi hạ tầng backend mà không gián đoạn, và nén dữ liệu trước khi trả về

Về tối ưu hóa hiệu suất, reverse proxy đảm nhận các tác vụ tính toán chuyên sâu về mật mã thông qua cơ chế SSL/TLS Termination. Quá trình mã hóa và giải mã các kết nối HTTPS tiêu tốn rất nhiều chu kỳ CPU. Nếu mỗi máy chủ backend phải tự xử lý hàng ngàn phiên SSL đồng thời, hiệu năng xử lý logic ứng dụng sẽ bị kéo lùi đáng kể. Bằng cách giải mã tại proxy rồi truyền dữ liệu tới backend, hệ thống giải phóng tài nguyên CPU cho máy chủ gốc, cho phép chúng xử lý nhiều giao dịch nghiệp vụ hơn trong cùng một khoảng thời gian.

Quản trị hạ tầng cũng linh hoạt hơn. Vì máy khách chỉ tương tác với địa chỉ IP của proxy, kỹ sư hệ thống có thể thay đổi, thêm mới hoặc bảo trì các máy chủ backend mà không làm gián đoạn dịch vụ. Bạn có thể chuyển từ một cụm server cũ sang hạ tầng đám mây mới bằng cách sửa cấu hình điều hướng tại proxy trong vài giây. Máy khách không nhận ra sự thay đổi này vì điểm kết nối duy nhất của nó vẫn giữ nguyên, giúp loại bỏ thời gian chết (downtime) do cập nhật hệ thống.

Reverse proxy còn nén dữ liệu và điều phối lưu lượng dựa trên nội dung. Nó có thể tự động áp dụng các thuật toán nén như Gzip hoặc Brotli cho phản hồi từ server gốc trước khi gửi tới máy khách, tiết kiệm băng thông và tăng tốc độ tải trang cho người dùng có kết nối mạng yếu. Khả năng phân tích yêu cầu ở tầng ứng dụng cũng cho phép proxy gửi các yêu cầu hình ảnh tĩnh tới một cụm server lưu trữ chuyên dụng, trong khi các yêu cầu xử lý dữ liệu động được đẩy tới các server ứng dụng mạnh hơn.

Cache ở reverse proxy hoạt động ra sao?

Cơ chế lưu trữ nội dung (content caching) tại reverse proxy là một trong những cách hiệu quả nhất để nâng cao trải nghiệm người dùng và giảm tải cho backend. Khi một yêu cầu được gửi tới, proxy kiểm tra xem phản hồi tương ứng đã có trong bộ nhớ đệm hay chưa. Nếu đã tồn tại và còn hiệu lực, proxy lấy dữ liệu trực tiếp từ đĩa cứng hoặc RAM để trả về cho máy khách mà không cần chuyển tiếp yêu cầu tới máy chủ gốc. Cách này loại bỏ độ trễ do mạng nội bộ và thời gian xử lý logic của ứng dụng, mang lại tốc độ phản hồi gần như tức thì cho nội dung tĩnh hoặc các API có dữ liệu ít thay đổi.

Cache tại proxy: yêu cầu trúng cache được trả ngay từ đĩa của proxy, còn yêu cầu trượt cache mới đi tiếp tới máy chủ gốc

Trong các hệ thống như Nginx, việc quản lý cache do hai tiến trình chuyên biệt đảm nhiệm: cache manager và cache loader. Tiến trình cache manager chạy định kỳ để giám sát dung lượng bộ nhớ đệm và xóa bỏ các tệp cũ theo thuật toán LRU (Least Recently Used) khi bộ nhớ chạm ngưỡng giới hạn. Tiến trình cache loader chỉ chạy một lần sau khi khởi động, nạp thông tin mô tả (metadata) của toàn bộ dữ liệu đã cache vào vùng nhớ chung. Để tránh làm CPU tăng vọt khi nạp hàng triệu tệp cùng lúc, kỹ sư thường dùng tham số loader_threshold để giới hạn thời gian mỗi lần nạp và loader_files để quy định số tệp tối đa trong một đợt lặp.

Khả năng kiểm soát cache của reverse proxy khá tinh vi, dựa trên các phương thức HTTP và chỉ thị từ server gốc. Thông thường, chỉ các yêu cầu GET và HEAD mới được đưa vào bộ nhớ đệm vì chúng chỉ truy xuất dữ liệu. Thông qua các chỉ thị như proxy_cache_valid, người quản trị quy định thời gian tồn tại khác nhau cho từng mã trạng thái HTTP — ví dụ giữ trang 200 OK trong 60 phút nhưng chỉ giữ trang lỗi 404 trong 1 phút. Tham số use_temp_path=off trong cấu hình đường dẫn cache giúp hệ thống không phải sao chép dữ liệu thừa giữa các hệ thống tệp khác nhau, từ đó tối ưu hiệu suất ghi đĩa.

Cấu hình proxy_cache_path dưới đây minh họa các cơ chế tinh chỉnh vừa nêu:

nginx
http {
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=dynamic_cache:20m
                     max_size=10g inactive=60m use_temp_path=off
                     loader_threshold=300 loader_files=200 loader_sleep=50;
 
    server {
        listen 80;
        location / {
            proxy_cache dynamic_cache;
            proxy_cache_valid 200 302 60m;
            proxy_cache_valid 404 1m;
            proxy_pass http://app_backend;
            proxy_set_header Host $host;
        }
    }
}

Cấu hình trên thiết lập một vùng nhớ đệm 10 GB và tinh chỉnh quá trình nạp dữ liệu khi khởi động bằng các tham số loader. Việc đặt use_temp_path=off đảm bảo các tệp được ghi thẳng vào thư mục cache cuối cùng, loại bỏ bước trung gian trên hệ thống tệp. Cách này giúp duy trì hiệu năng cao ngay cả khi phải xử lý lượng dữ liệu lớn trong bộ nhớ đệm.

Reverse proxy và load balancer khác nhau thế nào?

Sự giao thoa giữa reverse proxy và load balancer (bộ cân bằng tải) thường gây tranh luận trong cộng đồng kỹ thuật, nhưng điểm phân biệt mấu chốt nằm ở tầng mạng mà chúng hoạt động và cách chúng xử lý kết nối. Một bộ cân bằng tải ở Layer 7 của mô hình OSI thực chất là một reverse proxy được tích hợp thêm thuật toán phân phối tải. Cả hai đều đứng giữa máy khách và server backend, nhưng load balancer tập trung vào việc dàn trải lưu lượng giữa một server pool để duy trì tính sẵn sàng, còn reverse proxy có thể chỉ đứng trước một server duy nhất với mục tiêu chính là cache nội dung hoặc xử lý mã hóa SSL.

Layer 4 so với Layer 7: ở Layer 4 gói tin đi xuyên qua một cách trong suốt, ở Layer 7 proxy ngắt kết nối của máy khách rồi mở một kết nối mới tới backend

Sự khác biệt rõ nhất hiện ra khi so sánh Layer 4 và Layer 7. Các thiết bị cân bằng tải hoạt động ở Layer 4 — như các chế độ NAT, DR hoặc TUN — không phải là reverse proxy, vì chúng hoạt động theo cơ chế trong suốt (transparent). Ở Layer 4, thiết bị chỉ can thiệp vào thông tin địa chỉ IP và cổng ở phần header của gói tin mà không quan tâm đến nội dung bên trong. Máy khách giao tiếp trực tiếp với server backend ở mức logic, payload của gói tin không bị thay đổi và kết nối TCP không bị ngắt quãng giữa chừng.

Ngược lại, reverse proxy luôn thực hiện cơ chế termination (ngắt kết nối) tại Layer 7. Proxy kết thúc kết nối TCP từ máy khách, rồi đứng ra mở một kết nối TCP hoàn toàn mới tới máy chủ backend. Việc ngắt kết nối này cho phép proxy đọc, phân tích và thậm chí sửa đổi nội dung của yêu cầu HTTP trước khi chuyển tiếp. Chính vì vậy, chỉ reverse proxy mới làm được những việc như định tuyến dựa trên đường dẫn URL, thay đổi tiêu đề HTTP hoặc lọc bỏ nội dung độc hại ở tầng ứng dụng — điều mà các bộ cân bằng tải Layer 4 thuần túy không làm được.

Nói gọn lại, bạn có thể coi load balancer là chiến lược quản lý "số lượng" để hệ thống không sập khi có quá nhiều người truy cập, còn reverse proxy là chiến lược quản lý "chất lượng" và bảo mật cho từng kết nối cụ thể. Trong hạ tầng hiện đại, các giải pháp như Nginx Plus hay F5 thường đóng cả hai vai trò cùng lúc: vừa là reverse proxy để ngắt kết nối và xử lý logic HTTP, vừa là load balancer để phân phối các yêu cầu đó tới cụm server nội bộ, tránh nghẽn cổ chai tại bất kỳ điểm đơn lẻ nào.

Một cấu hình reverse proxy trông như thế nào?

Với Nginx, cấu hình reverse proxy xoay quanh chỉ thị proxy_pass. Chỉ thị này quy định địa chỉ đích mà yêu cầu sẽ được chuyển tiếp tới, có thể là một địa chỉ IP, một tên miền hoặc một nhóm server được định nghĩa trong khối upstream. Một chi tiết kỹ thuật mà kỹ sư thường bỏ sót là cách Nginx xử lý tiêu đề Host. Theo mặc định, Nginx đặt tiêu đề Host$proxy_host, và cách đặt này thường gây lỗi redirect hoặc lỗi định tuyến tại server backend, vốn cần đúng tên miền thực mà máy khách đang truy cập. Để khắc phục, bạn phải dùng proxy_set_header Host $host để truyền lại thông tin chính xác.

Với Caddy, một máy chủ web hiện đại viết bằng Go, triết lý cấu hình khác hẳn: ưu tiên tự động hóa và sự đơn giản. Caddy tự động cấp và gia hạn chứng chỉ HTTPS qua giao thức ACME mà không cần cấu hình thủ công. Trong các kịch bản proxy tới một backend hỗ trợ HTTPS, Caddy cung cấp tùy chọn --change-host-header (hoặc tương đương trong Caddyfile) để điều chỉnh tiêu đề Host cho khớp với chứng chỉ TLS của backend, giúp quá trình bắt tay (handshake) diễn ra thành công mà không đòi hỏi bạn can thiệp sâu vào các biến header phức tạp.

Đặt Nginx cạnh Caddy là thấy rõ hai trường phái quản trị hệ thống. Nginx cho khả năng kiểm soát rất chi tiết, cho phép bạn tinh chỉnh từng buffer, từng header và từng timeout, phù hợp với các hệ thống quy mô lớn cần tối ưu tuyệt đối. Caddy lại phù hợp với các dự án triển khai nhanh, nơi việc dựng một proxy có HTTPS chỉ mất vài giây với cú pháp gần với ngôn ngữ tự nhiên. Cả hai đều đạt được mục đích cuối cùng là tạo ra một lớp đệm an toàn, nhưng cách tiếp cận cấu hình phản ánh sự khác biệt giữa quyền kiểm soát thủ công và sự tiện lợi của tự động hóa.

Cùng một nhiệm vụ, đặt cạnh nhau: một cấu hình Nginx tiêu chuẩn và một Caddyfile tương đương.

nginx
# Cấu hình Nginx với sự kiểm soát chi tiết
server {
    listen 443 ssl;
    server_name api.example.com;
 
    location / {
        proxy_pass http://localhost:9000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_buffering on;
        proxy_buffer_size 4k;
    }
}
 
# Cấu hình Caddyfile tương đương với sự tự động hóa
api.example.com {
    reverse_proxy localhost:9000
}

Caddy gói toàn bộ phần phức tạp của truyền header và quản lý SSL vào một chỉ thị duy nhất. Nhưng trong các môi trường doanh nghiệp khắt khe, cấu hình chi tiết của Nginx vẫn được ưu tiên, để mọi khía cạnh của luồng dữ liệu đều nằm trong tầm kiểm soát của kỹ sư vận hành — đặc biệt khi cần xử lý các trường hợp biên về buffer hoặc các tiêu đề tùy chỉnh đặc thù của ứng dụng.

Vì sao IP của client hay bị sai khi đi qua reverse proxy?

Sự sai lệch địa chỉ IP của máy khách là hệ quả tất yếu của cơ chế termination tại Layer 7. Khi reverse proxy ngắt kết nối từ máy khách và thiết lập một kết nối mới tới backend, server backend chỉ nhìn thấy địa chỉ IP của máy chủ proxy trong gói tin TCP. Điều này tạo ra một điểm mù cho các hệ thống nhật ký, công cụ phân tích địa lý và đặc biệt là các bộ lọc bảo mật trên backend. Nếu không được xử lý, mọi yêu cầu từ hàng triệu người dùng khác nhau sẽ trông như thể đều đến từ một nguồn duy nhất, khiến các chính sách như giới hạn tốc độ (rate limiting) trở nên vô tác dụng.

Chuỗi X-Forwarded-For: các IP phía bên trái có thể bị giả mạo, các proxy tin cậy nằm phía bên phải, nên IP đáng tin được lấy từ phải sang trái

Giải pháp tiêu chuẩn cho vấn đề này là tiêu đề X-Forwarded-For (XFF), một danh sách các địa chỉ IP được bổ sung sau mỗi bước nhảy của gói tin qua các proxy. Nhưng tin tưởng tuyệt đối vào XFF là một sai lầm bảo mật nghiêm trọng. Kẻ tấn công có thể chèn một tiêu đề XFF giả mạo với hàng loạt IP ngẫu nhiên ngay từ trình duyệt. Nếu server của bạn chỉ lấy IP nằm ngoài cùng bên trái của chuỗi XFF, kẻ tấn công có thể vượt qua các bộ lọc bảo mật, hoặc tệ hơn là gây ra lỗi cạn kiệt bộ nhớ (memory exhaustion): các chuỗi XFF cực dài sẽ khiến RAM của server bị chiếm dụng vô ích để lưu trữ chuỗi rác cho mỗi request.

Để xử lý triệt để rủi ro này, kỹ sư thường áp dụng thuật toán "rightmost-ish" kết hợp với danh sách các dải IP tin cậy (trusted CIDR list). Thay vì lấy IP từ bên trái, bạn duyệt danh sách XFF từ phải sang trái và bỏ qua tất cả các IP thuộc về những máy chủ proxy mà bạn kiểm soát. Địa chỉ IP đầu tiên bạn gặp mà không nằm trong danh sách tin cậy chính là IP đáng tin cậy nhất của máy khách. Cách này đảm bảo ngay cả khi kẻ tấn công giả mạo hàng trăm IP ở phía đầu chuỗi XFF, hệ thống của bạn vẫn dừng lại đúng tại điểm mà dữ liệu bắt đầu đi vào hạ tầng của bạn.

Cấu hình đúng mô hình tin cậy này là yếu tố sống còn để duy trì an ninh hệ thống. Các thư viện hoặc middleware xử lý IP cần được cấu hình tường minh để chỉ chấp nhận tiêu đề từ những địa chỉ IP nguồn cụ thể. Nếu bạn đặt server sau Cloudflare, bạn phải nạp toàn bộ danh sách dải IP của Cloudflare vào cấu hình "trusted proxies" của mình. Chỉ khi đó, việc trích xuất IP máy khách mới thực sự an toàn và chính xác, giúp các hệ thống bảo mật phía sau thực thi quy tắc rate limiting hoặc chặn IP dựa trên danh tính thực của người dùng.

Khi nào nên đặt reverse proxy trước ứng dụng của bạn?

Triển khai một reverse proxy là yêu cầu gần như bắt buộc với bất kỳ ứng dụng nào hướng ra internet công cộng và đặt mục tiêu chuyên nghiệp về bảo mật. Bạn nên đặt proxy ngay nếu cần bảo vệ địa chỉ IP của máy chủ gốc, muốn tự động hóa hoàn toàn việc quản lý chứng chỉ SSL/TLS, hoặc cần một cơ chế bộ nhớ đệm hiệu quả để giảm tải cho backend. Đây không chỉ là vấn đề hiệu suất mà còn là chiến lược để xây dựng hệ thống có khả năng mở rộng linh hoạt, cho phép thay đổi hạ tầng backend mà không ảnh hưởng đến người dùng cuối.

Nhưng sức mạnh của reverse proxy chỉ phát huy khi đi kèm một cấu hình chuẩn xác. Xử lý sai tiêu đề X-Forwarded-For hoặc bỏ qua các tham số tối ưu như nạp cache theo đợt hay use_temp_path có thể vô tình tạo ra lỗ hổng bảo mật hoặc điểm nghẽn hiệu năng mới. Hãy coi reverse proxy là một lớp bảo vệ cần được tinh chỉnh kỹ, để mọi luồng dữ liệu đi qua nó đều được thanh lọc, mã hóa và điều phối trước khi chạm tới lõi ứng dụng của bạn.

Tài liệu tham khảo

Chia sẻ bài viết

X / TwitterFacebookLinkedIn