Ngoài việc tìm hiểu về Nginx, Proxy server ra thì để thực sự nắm rõ hơn về server bạn cũng cần biết thêm về Reverse Proxy. Vậy Reverse Proxy là gì và ứng dụng của Reverse proxy là gì? Vietnix sẽ giúp bạn hiểu rõ trong bài viết sau.
Reverse Proxy là gì?
Trong hệ thống mạng internet, reverse proxy là một loại proxy server phổ biến có thể truy cập từ mạng công cộng. Các trang web lớn và CDN sử dụng reverse proxy – cùng với các kỹ thuật khác để cân bằng tải giữa các internal server. Các reverse proxy có thể giữ một bộ nhớ cache của static content. Điều này giúp giảm tải trên các internal server này và internal network. Các reverse proxy cũng thường thêm các tính năng như nén hoặc mã hóa TLS vào kênh giao tiếp giữa client và reverse proxy.
Các reverse proxy thường được sở hữu hoặc quản lý bởi dịch vụ web và chúng được các client truy cập từ internet. Ngược lại, forward proxy thường được quản lý bởi một client (hoặc công ty). Client này bị hạn chế trong internal network, private network. Tuy nhiên client có thể yêu cầu forward proxy thay mặt client truy xuất tài nguyên từ internet công cộng.
Reverse proxy server được triển khai trong các open-source web server phổ biến như Apache, Nginx và Caddy. Phần mềm này có thể kiểm tra các Header HTTP. Ví dụ, cho phép nó trên một địa chỉ IP để chuyển tiếp các request đến các internal server khác nhau dựa trên domain name của HTTP request. Các Reverse proxy server chuyên dụng như phần mềm open source HAProxy và Squid Proxy được một số trang web lớn nhất trên internet sử dụng.
Reverse proxy server là một điểm kết nối trung gian được đặt ở network edge. Nó nhận các request kết nối HTTP ban đầu, hoạt động giống như endpoint thực.
Trong phạm vi của network traffic, Reverse proxy đóng vai trò như một port giữa user và server gốc. Như vậy, nó quản lý policy và traffic routing.
Một Reverse proxy hoạt động như sau:
• Nhận được request kết nối của user
• Thực hiện TCP three-way handshake
• Kết nối với server gốc và chuyển tiếp request ban đầu
Ứng dụng của Reverse Proxy
• Các Reverse Proxy có thể ẩn server gốc.
• Reverse Proxy có các tính năng của firewall có thể bảo vệ và chống lại các cuộc tấn công trang web phổ biến như DoS hoặc DDos. Ví dụ như nếu không có Reverse Proxy, việc xóa malware có thể gặp khó khăn.
• Trong trường hợp các trang web an toàn, web server có thể không tự thực hiện mã hóa TLS mà thay vào đó, offload các task đến Reverse Proxy để nó được trang bị phần cứng tăng tốc TLS.
• Một Reverse Proxy có thể phân phối tải các request đến một số server, mỗi server hỗ trợ khu vực ứng dụng riêng của nó. Trong trường hợp web server của reverse Proxy, Reverse Proxy có thể phải viết lại URL trong mỗi request để khớp với vị trí của tài nguyên được request
• Một Reverse Proxy có thể giảm tải trên các server gốc bằng cách lưu dynamic content (nội dung động) và static content (nội dung tĩnh) vào bộ nhớ cache, được gọi là tăng tốc web. Các Proxy cache loại này thường có thể đáp ứng một số lượng đáng kể các web request, giúp giảm tải trên các server gốc một cách đáng kể.
• Có thể tối ưu hóa nội dung bằng cách nén nó để tăng tốc thời gian tải.
• Reverse Proxy sử dụng kỹ thuật “spoon-feeding”. Tức là một trang web được tạo ra một cách dynamic và được phát tới reverse Proxy, sau đó có chuyển lại từ từ từng chút một cho các client. Chương trình tạo trang web không cần phải mở. Do đó, tài nguyên server có thể được giải phóng trong thời gian mà client yêu cầu để hoàn tất quá trình chuyển.
• Các Reverse Proxy có thể hoạt động ở bất cứ nơi nào có nhiều web server có thể truy cập được thông qua một địa chỉ IP công cộng. Các web server lắng nghe trên các port khác nhau trong cùng một máy, với cùng địa chỉ IP hoặc có thể trên các máy khác nhau có địa chỉ IP khác nhau. Reverse Proxy phân tích từng request đến và gửi nó đến đúng server trong khu vực local network.
• Các Reverse Proxy có thể thực hiện thử nghiệm A/B và thử nghiệm đa lượng biến mà không cần đặt JavaScript tag hoặc code vào các trang.
• Một Reverse Proxy có thể thêm xác thực truy cập HTTP cơ bản vào web server không có bất kỳ xác thực nào.
Dù Reverse Proxy có các tính năng của firewall có thể bảo vệ và chống lại các cuộc tấn công trang web phổ biến như DoS hoặc DDos. Tuy nhiên, để triển khai được thì bạn cũng cần có kiến thức chuyên sâu, hơn nữa các dạng tấn công DDoS mới hiện này cần hệ thống Firewall mạnh mẽ hơn. Đến đây bạn có thể tham khảo dịch vụ Firewall Chống DDoS của Vienix.
Vietnix Firewall là tường lửa gồm nhiều lớp đứng giữa người dùng và máy chủ, có nhiệm vụ phân tích và vô hiệu hóa các kết nối tấn công, giúp bảo vệ toàn diện, nâng cao tính ổn định và giúp hệ thống đứng vững trước các cuộc tấn công DDoS.
>> Xem thêm: Phần mềm proxy free tốt nên sử dụng
Cách CDN sử dụng Reverse Proxy
Được triển khai ở network edge của bạn, CDN sử dụng công nghệ reverse proxy để xử lý lưu lượng đến và đi.
Content caching
Các reverse proxy được đặt ở một số vị trí mà các mirror version của các trang web được nén và lưu vào bộ nhớ cache. Điều này tạo điều kiện cho việc phân phối nội dung trở nên nhanh chóng dựa trên vị trí của client, giúp giảm thời gian tải trang và cải thiện trải nghiệm của user.
Traffic scrubbing
Nằm ở phía trước các backend server, reverse proxy có vị trí lý tưởng để lọc tất cả lưu lượng ứng dụng đến trước khi nó được gửi đến các backend server
Điều này cung cấp:
• Giảm thiểu DDoS: Khi gặp tấn công DDos, thì lưu lượng truy cập đến sẽ được phân phối giữa một mạng lưới các reverse proxy server để giảm bớt tác động tổng thể của nó.
• Bảo mật ứng dụng web: Reverse proxy là vị trí lý tưởng để đặt app firewall của web nhằm loại bỏ các packet độc hại, bao gồm cả bot xấu và request của hacker.
IP Masking
Khi routing lưu lượng truy cập đến của bạn thông qua một reverse proxy server, các kết nối sẽ bị proxy chấm dứt trước tiên và sau đó được mở lại bằng backend server. Từ góc độ của user, request của họ được giải quyết thông qua proxy IP.
Do đó, địa chỉ IP của server gốc của bạn bị che. Điều này làm cho những kẻ tấn công khó truy cập và thực hiện các cuộc tấn công Dos trực tiếp đến IP trở nên khó khăn hơn đáng kể.
Load balancing
Vì reverse proxy server là gateway giữa user và server gốc của ứng dụng nên chúng có thể xác định nơi route các HTTP session riêng lẻ. Đối với các ứng dụng sử dụng nhiều backend server, điều này có nghĩa là reverse proxy có thể phân phối tải một cách hiệu quả, do đó cải thiện trải nghiệm của user một cách tổng thể và giúp đảm bảo tính khả dụng cao.
Trong trường hợp server gặp sự cố, các reverse proxy hoạt động như một giải pháp chuyển đổi dự phòng, định tuyến lại lưu lượng truy cập để đảm bảo trang web có thể tiếp tục.
Sự khác nhau giữa Reverse Proxy và Forward Proxy
Ngược lại, forward proxy server cũng được đặt ở network’s edge, nhưng điều chỉnh lưu lượng ra ngoài theo các policy đặt trước trong shared network. Ngoài ra, nó ngụy trang địa chỉ IP của client và chặn lưu lượng truy cập độc hại.
Các Forward proxy thường được sử dụng trong nội bộ các tổ chức lớn, chẳng hạn như các trường đại học và doanh nghiệp để:
- Ngăn chặn nhân viên truy cập các trang web nhất định.
- Giám sát hoạt động trực tuyến của nhân viên.
- Chặn lưu lượng truy cập độc hại đến server gốc.
- Cải thiện trải nghiệm của người dùng bằng cách lưu nội dung trang bên ngoài vào bộ nhớ cache.
Lời kết
Như vậy là bạn đã hiểu rõ khái niệm và ứng dụng của Reverse proxy, Vietnix hy vọng bạn có thêm nhiều kiến thức mới qua bài viết này!