BÁO CÁO
ĐỀ TÀI:
-server:
TS. Hà Quốc Trung
Nguyễn Khánh Hưng 20081279 TTM-K53 5/2012
2
mạnh mẽ về khoa học công nghệ. Đây là kỷ nguyên của nền văn minh dựa trên cơ
sở công nghiệp trí tuệ. Ngày nay, tin học đã trở thành một môn khoa học quan trọng
trên thế giới.
Sự phát triển mạnh mẽ như vậy thì vấn đề quản lý nguồn tài nguyên “công
nghệ” đặt ra cho người sử dụng là một vấn đề cấp thiết hiện nay. Một trong số đó là
vấn đề đảm bảo an toàn cho hệ thống server cũng như những giải pháp giúp mô
hình client/server làm việc hiệu quả hơn, an toàn hơn. Kiến trúc reverse proxy được
đề xuất đã giải quyết được đòi hỏi đó. Reverse proxy đảm bảo an toàn cho server,
giúp cân bằng tải, lọc những yêu cầu có hại,… Chính vì lý do này mà tôi đã chọn đề
tài “-serv
để hiểu rõ hơn về kiến trúc này.
Do thời gian có hạn nên không thể tránh khỏi những sai sót, mong thầy góp ý
để tôi hoành chỉnh đề tài này.
4
I. -server
1.
Mô hình được phổ biến nhất và được chấp nhận rộng rãi trong hệ thống phân
tán là mô hình client/server. Trong mô hình này sẽ có một tập các tiến trình mà mỗi
tiến trình đóng vai trò như là một trình quản lý tài nguyên cho trước và một tập các
tiến trình client trong đó mỗi tiến trình thực hiện một tác vụ nào đó cần truy xuất tới
tài nguyên phần cứng hoặc phần mềm dùng chung. Bản thân các trình quản lý tài
nguyên cần phải truy xuất tới các tài nguyên dùng chung được quản lý bởi các tiến
trình khác, vì vậy một số tiến trình vừa là tiến trình client vừa là tiến trình server.
Các tiến trình phát ra các yêu cầu tới server bất kỳ khi nào chúng cần truy xuất tới
một trong các tài nguyên của các server. Nếu yêu cầu là đúng đắn thì server sẽ thực
hiện hành động được yêu cầu và gửi một đáp ứng tới tiến trình client.
Mô hình client/server cung cấp một cách tiếp cận tổng quát để chia sẻ tài
nguyên trong các hệ thống phân tán. Mô hình này có thể cài đặt bằng rất nhiều môi
trường phần cứng và phần mềm khác nhau. Các máy tính được sử dụng để chạy các
Kiến trúc client/server đơn giản nhất là kiến trúc hai tầng. Trong thực tế hầu
hết các kiến trúc client/server là kiến trúc hai tầng. Một ứng dụng hai tầng cung cấp
nhiều trạm làm việc với một tầng trình diễn thống nhất, tầng này truyền tiin với tầng
dữ liệu tập trung. Tầng trình diễn thông thường là client, và tầng lưu trữ dữ liệu là
server.
Hầu hết các ứng dụng intetnet như email, telnet, ftp thậm chí cả Web là các
ứng dụng hai tầng. Phần lớn các lập trình viên trình ứng dụng viết các ứng dụng
client/server có xu thế sử dụng kiến trúc này.
Trong ứng dụng hai tầng truyền thống, khối lượng công việc xử lý được dành
cho phía client trong khi server chỉ đóng vai trò như là chương trình kiểm soát
luồng vào ra giữa ứng dụng và dữ liệu. Kết quả là không chỉ hiệu năng của ứng
dụng bị giảm đi do tài nguyên hạn chế của PC, mà một khối lượng dữ liệu truyền đi
trên mạng cũng tăng theo. Khi toàn bộ ứng dụng được xử lý trên một PC, ứng dụng
bắt buộc phải yêu cần nhận dữ liệu trước khi đưa ra bất kì kết quản xử lý nào cho
người dùng. Nhiều yêu cầu dữ liệu cũng làm giảm hiệu năng mạng. Một vấn đề
thường gặp khác đối với các ứng dụng hai tầng là vấn đề bảo trì. Chỉ cần một thay
đổi nhỏ đối với ứng dụng cũng cần phải thay đổi lại toàn bộ ứng dụng client và
server.
6
3.2. Client/Server ba tầng
Ta có thể tránh được vấn đề với kiến trúc client/server hai tầng bằng cách mở
rộng kiến trúc thành ba tầng. Một kiến trúc ba tầng có thêm một tầng mới tách biệt
7
4.
Mô hình client/server hướng tới việc cung cấp dịch vụ. Quá trình trao đổi dữ
liệu bao gồm:
1. Truyền một yêu cầu từ tiến trình client đến tiến trình server
2. Yêu cầu được server xử lý
3. Truyền đáp ứng cho client
Mô hình truyền tin này liên quan tới việc truyền hai thông điệp và một dạng
đồng bộ hóa cụ thể giữa client và server. Tiến trình server phải nhận thức được
thông điệp yêu cầu ở bước 1 ngay khi nó đến và hành động phát ra yêu cầu trong
client phải được tạm dừng và buộc tiến trình client ở trạng thái chờ cho tới khi nó
nhận được đáp ứng do server gửi về ở bước 3.
Mô hình client/server thường được cài đặt dựa trên các thao tác cở bản là gửi
(send) và nhận (receive).
Quá trình giao tiếp client và server có thể diễn ra theo một tròn hai chế độ: bị
phong tỏa (blocked) và không bị phong tỏa (non-blocked).
- Chế độ bị phong tỏa (blocked):
Trong chế độ bị phong tỏa, khi client hoặc server phát ra lệnh gửi dữ liệu
(send), việc thực thi của tiến trình sẽ bị tạm ngừng cho tới khi tiến trình nhận phát
ra lệnh nhận dữ liệu (receive).
Tương tự đối với tiến trình nhận dữ liệu, nếu tiến trình nào đó (client hoặc
server) phát ra lệnh nhận dữ liệu, mà tại thời điểm đó chưa có dữ liệu gửi tới thì
việc thực thi của tiến trình cũng sẽ bị tạm ngừng cho tới khi có dữ liệu gửi tới.
- Chế độ không bị phong tỏa (non-blocked)
Trong chế độ này, khi tiến trình client hay server phát ra lệnh gửi dữ liệu thực
sự, việc thưc thi của tiến trình vẫn được tiến hành mà không quan tâm đến việc có
tiến trình nào phát ra lệnh nhận dữ liệu đó hay không.
Tương tự cho trường hợp nhận dữ liệu, khi tiến trình phát ra lệnh nhận dữ liêu,
nó sẽ nhận dữ liệu hiện có, việc thực thi của tiến trình vẫn được tiến hành mà không
1.
Trong mạng máy tính, một máy chủ proxy là một máy chủ (một hệ thống máy
tính hay một ứng dụng) đứng giữa server và client, tham gia vào cuộc trò chuyện
giữa hai bên. Một client kết nối đến máy chủ proxy, yêu cầu một số dịch vụ như
một tập tin, kết nối, trang web, hoặc tài nguyên sẵn có từ một máy chủ khác. Các
máy chủ proxy đánh giá các yêu cầu như một cách đơn giản hóa và kiểm soát phức
tạp của họ. Ngày nay, hầu hết các proxy là web proxy, tạo điều kiện thuận lợi cho
việc truy cập nội dung trên World Wide Web.
Máy chủ proxy ngày càng được sử dụng rộng rãi cho nhiều mục đích, bao gồm:
Giữ máy tính ẩn danh khi truy cập Internet, nghĩa là máy tính được an
toàn.
Tăng tốc độ truy cập tới tài nguyên trên Internet bằng việc sử dụng bộ
đệm proxy.
Để chặn các trạng web không mong muốn hay để truy cập vào các trạng
web bị cấm, lọc bởi công ty, tổ chức của bạn.
9
Kiểm soát và bảo vệ quyền truy cập vào một máy chủ trên một mạng riêng
Giúp cân bằng tải, giải mã, chứng thực hoặc bộ nhớ đệm.
được gọi là Proxy server. Chỉ duy nhất máy Proxy này cần modem và account truy
cập internet, các máy client (các máy trực thuộc) muốn truy cập internet qua máy
này chỉ cần nối mạng LAN tới máy Proxy và truy cập địa chỉ yêu cầu. Những yêu
cầu của người sử dụng sẽ qua trung gian proxy server thay thế cho server thật sự mà
người sử dụng cần giao tiếp, tại điểm trung gian này công ty kiểm soát được mọi
giao tiếp từ trong công ty ra ngoài internet và từ internet vào máy của công ty. Sử
dụng Proxy, công ty có thể cấm nhân viên truy cập những địa chỉ web không cho
phép, cải thiện tốc độ truy cập nhờ sự lưu trữ cục bộ các trang web trong bộ nhớ của
proxy server và giấu định danh địa chỉ của mạng nội bộ gây khó khăn cho việc thâm
nhập từ bên ngoài vào các máy của công ty.
Đối với các nhà cung cấp dịch vụ đường truyền internet: Do internet có nhiều
lượng thông tin mà theo quan điểm của từng quốc gia, từng chủng tộc hay địa
phương mà các nhà cung cấp dịch vụ internet khu vực đó sẽ phối hợp sử dụng
proxy với kỹ thuật tường lửa để tạo ra một bộ lọc gọi là firewall proxy nhằm ngăn
chặn các thông tin độc hại hoặc trái thuần phong mỹ tục đối với quốc gia, chủng tộc
hay địa phương đó. Địa chỉ các website mà khách hàng yêu cầu truy cập sẽ được lọc
tại bộ lọc này, nếu địa chỉ không bị cấm thì yêu cầu của khách hàng tiếp tục được
gửi đi, tới các DNS server của các nhà cung cấp dịch vụ. Firewall proxy sẽ lọc tất cả
các thông tin từ internet gửi vào máy của khách hàng và ngược lại.
2.2.
Proxy không chỉ có giá trị bởi nó làm được nhiệm vụ của một bộ lọc thông tin,
nó còn tạo ra được sự an toàn cho các khách hàng của nó, firewal Proxy ngăn chặn
hiệu quả sự xâm nhập của các đối tượng không mong muốn vào máy của khách
hàng. Proxy lưu trữ được các thông tin mà khách hàng cần trong bộ nhớ, do đó làm
giảm thời gian truy tìm làm cho việc sử dụng băng thông hiệu quả.
Proxy server giống như một vệ sĩ bảo vệ khỏi những rắc rối trên Internet. Một
Proxy server thường nằm bên trong tường lửa, giữa trình duyệt web và server thật,
làm chức năng tạm giữ những yêu cầu Internet của các máy khách để chúng không
giao tiếp trực tiếp Internet. Người dùng sẽ không truy cập được những trang web
không cho phép (bị cấm).
trên các content server.
Hình 5: Mô hình reverse proxy
Reverse proxy có thể ẩn và che dấu sự tồn tại của server. Khi client từ Internet
muốn truy cập vào webserver của bạn, Reverse proxy server sẽ đóng vai trò là
webserver. Tức là client chỉ được phép giao tiếp với proxy Server mà họ sẽ nghĩ là
giao tiếp với webserver thật sự. Reverse proxy sẽ chuyển tiếp yêu cầu đến
Webserver thật sự và đáp lại theo chiều ngược lại. Như vậy Proxy server sẽ thay thế
Webserver giao tiếp với client kết nối đến.
Tính năng của ứng dụng tường lửa có thể bảo vệ Webserver chống lại các
cuộc tấn công phổ biến trên web. Không có reverse proxy xóa phần mềm độc hại
thì mọi việc trở nên khó khăn hơn.
Các reverse proxy phổ biến nhất thực hiện giao thức truyền siêu văn bản
(HTTP), do đó trong báo cáo chỉ đề cập tới HTTP reverse proxy. Tuy nhiên, các mô
hình cơ bản có thể áp dụng cho bất kỳ giao thức Internet khác, ví dụ FTP.
13
Trong báo cáo sẽ đề cập tới hai mô hình reverse proxy. Mô hình reverse proxy
bảo vệ trình bày làm sao để bảo vệ server ở mức độ giao thức ứng dụng trong vành
đai mạng. Một reverse proxy tích hợp cho phép kết hợp các server tại một điểm
chung, do đó ẩn các hệ thống và các host bên trong.
2.
Việc đưa một web server hay một ứng dụng server trực tiếp trên Internet cho
phép những kẻ tấn công truy cập trực tiếp tới bất cứ lỗ hổng của server (ứng dụng,
web server, thư viện, hệ điều hành). Tuy nhiên để cung cấp một dịch vụ hữu ích cho
an ninh của nó.
Bất cứ một loại dịch vụ truy cập thông qua Internet hoặc thông qua môi trường
mạng đều có khả năng bị tấn công. Thông thường, các giao thức truy cập được sử
dụng là HTTP và HTTPS.
Ngay cả khi chúng ta cài đặt tường lửa lọc gói tin đơn giản, web server vẫn có
thể bị phá hoại bởi các cuộc tấn công khai thác điểm yếu trong giao thức đã cài đặt.
Làm sao chúng ta có thể bảo vệ cơ sở hạ tầng web server an toàn trước những lỗ
hổng tiềm tàng dễ bị tấn công sử dụng giao thức của nó.
Sử dụng mô hình có tường lửa để bảo vệ web server như hình 6 ta gặp phải
những vấn đề sau:
Tường lửa lọc gói tin không đủ để bảo vệ web server, vì cổng 80 phải được
cung cấp cho truy cập trên Internet.
Các cuộc tấn công thường dùng những thông số yêu cầu kéo dài, hay các
thông số yêu cầu được cài đặt thủ công để khai thác lỗ hổng tràn bộ đệm.
Nâng cấp, củng cố web server có thể vượt quá khả năng của chúng ta.
Việc cài đặt bản vá lỗi giúp tránh việc lợi dụng những lỗ hổng của web server.
Nhưng với mỗi bản vá lỗi, hệ thống có nguy cơ ngừng làm việc. Đôi khi
chúng ta không thể nâng cấp web server kịp thời vì sự tương thích phần cứng,
phần mềm trên web server.
Chuyển sang một mã nguồn phần mềm web server khác là khá đắt tiền, nguy
hiểm và tốn thời gian. Một web server mới có thể có ít lỗ hổng hơn nhưng
chúng ta chưa quen ngay với nó được. Ngoài ra nó yêu cầu phải tương thích
với hệ thống của chúng ta.
Chúng ta không thể biết về những lỗ hổng được phát hiên trong tương lai.
Để giải quyết, chúng ta thay đổi mô hình mạng để sử dụng một reverse proxy
bảo vệ là một lá chắn thực sự bảo vệ web server của chúng ta. Cấu hình reverse
proxy này để lọc tất cả các yêu cầu, chỉ những yêu cầu vô hại sẽ được gửi tới web
server. Hai tường lửa lọc gói tin để ngăn không có truy cập trực tiếp từ mạng bên
ngoài tới web server. Trong mô hình mạng có một khu (DNZ) chỉ chứa reverse
proxy và khu vực server an toàn bao gồm web server.
- Từ chối kết nối gửi đến, ngoại trừ kết nối từ reverse proxy
- Từ chối kết nối gửi đi từ backend server
Backend server: server nằm xa client nhất
- Cung cấp dịch vụ web thực
- Chấp nhận yêu cầu từ reverse proxy và đáp lại yêu cầu.
16
Ngoài ra giải pháp này không chỉ áp dụng cho các web server mà nó còn áp
dụng cho các giao thức khác như ftp, imap, smtp. Một reverse proxy bảo vệ cho ftp,
ví dụ, có thể quyét nội dung tập tin virus hoặc thực thi và ngăn cấm upload các tập
tin như vậy, hoặc nó có thể giới hạn các lệnh ftp có sẵn và ngăn cấm các bên thứ 3
kết nối đến máy chủ dữ liệu, được cho phép theo tiêu chuẩn ftp.
Cơ chế đầu tiên cho thấy làm thế nào để một yêu cầu hợp lệ được kiểm tra và
thông qua reverse proxy bảo vệ. Các thành phần tường lửa bên trong và bên ngoài
được giả định là minh bạch trong trường hợp này và do đó không được hiển thị.
Quá trình xử lý trả lời của backend server là tùy chọn, nhưng có thể được sử dụng
để thiết lập trường tiêu đề giao thức. Lưu ý rằng bản truy cập chỉ được ghi sau khi
trả lời đã được gửi để cải thiện sự đáp ứng của hệ thống.
17
Cơ chế thứ hai thể hiện cơ chế ngăn chặn của reverse proxy bảo vệ bằng cách
bỏ qua một yêu cầu không hợp lệ và độc hại. Tuy nhiên, ngay cả khi trình duyệt
không nhận được trả lời thì vẫn sẽ được ghi nhận. Theo giao thức truyền siêu vẫn
proxy bảo vệ của chúng ta, nên lựa chọn giải pháp đơn giản và đã được
kiểm chứng. Ví dụ, sử dụng Apache, chúng ta có nguy cơ tất cả lỗ hổng
của web server Apache có mặt trong reverse proxy bảo vệ của chúng ta.
18
Mặt khác, web server Apache được triển khai thường xuyên, mà hầu hết
các lỗ hổng và các biện pháp đối phó đã được biết đến.
3. Cấu hình backend web server . Các nội dung web nên dựa vào tên đường
dẫn tương đối và không sử dụng tên và địa chỉ IP nội bộ của mình để tham
chiếu tới chính nó. Nếu không, liên kết có thể không làm việc, bởi vì trình
duyệt không còn có thể trực tiếp truy cập vào máy nó đang chạy.
4. Cấu hình reverse proxy bảo vệ. Đối với an ninh để làm việc, chúng ta cần
định nghĩa những yêu cầu nào nên ánh xạ tới backend web server nào, và
định nghĩa những gì xảy ra nếu yêu cầu không hợp lệ xảy ra. Ví dụ, chúng
ta muốn ghi lại những yêu cầu gì đã bị từ chối bởi reverse proxy. Đối với
việc lọc yêu cầu tồn tại 2 cách tiếp cận: danh sách đen và danh sách trắng
- Danh sách đen chỉ lọc những yêu cầu độc hại trong danh sách của
nó, nhưng nó bỏ qua tất cả những thứ khác. Danh sách lọc đen dễ
dàng triển khai nhưng đầy rủi ro. Chúng thường được sử dụng bởi
“higher-lever” của tường lửa.
- Danh sách lọc trắng có nhiều hạn chế và chỉ cho phép những yêu
cầu trong danh sách. Nó cần phải được cấu hình với kiến thức chi
tiết của backend server và cho phép các URLs. Một danh sách lọc
trắng cần phải được điều chỉnh mỗi khi backend server có thay đổi
đáng kể trong không gian (URL) của nó. Tuy nhiên nó là lựa chọn
tốt nhất cho reverse proxy bảo vệ.
Nếu backend server tin tưởng vào trang đổi hướng hay cơ chế khác
bằng cách sử dụng địa chỉ host của nó và chúng ta có thể thay đổi
nó, chúng ta cần cấu hình reverse proxy để sửa đổi phản hồi của
máy chủ cho phù hợp.
Việc lọc dựa vào danh sách đen có thể đưa cho chúng ta một cảm giác an
toàn giả mạo. Giống như các bản vá, danh sách đen có thể chỉ được tạo
sau khi lỗ hổng được biết đến
Việc lọc với danh sách trắng có thể kém hiệu quả khi backend server
thay đổi. Thêm chức năng hay sắp xếp lại cấu trúc nội dung trong
backend web server, có thể bao gồm công việc bổ sung để cấu hình lại
danh sách lọc của reverse proxy bảo vệ.
Độ trễ. Một reverse proxy tăng thêm độ trễ khi truyền tin, không chỉ bởi
vì thêm lưu lượng mạng mà còn do việc lọc và xác nhận yêu cầu.
Tăng thêm điểm lỗi. Nếu reverse proxy ngừng làm việc sẽ không có bất
cứ truy cập nào tới được web site của chúng ta. Bất cứ thành phần bổ
sung có thể làm tăng nguy cơ lỗi hệ thống. Để giảm nguy cơ này, chúng
ta có thể sử dụng thiết bị dự phòng là thiết bị chuyển mạch phần cứng
hoặc phần mềm.
Chi phí phần cứng, phần mềm và cấu hình. Reverse proxy bảo vệ yêu
cầu phải cấu hình thêm tường lửa lọc gói tin hoặc các thiết bị khác để
chạy reverse proxy.
20
3.
Một web site được xây dựng từ nhiều ứng dụng có nguồn gốc khác nhau có
thể yêu cầu nhiều server khác nhau, bởi vì hoạt động không đồng nhất của các ứng
dụng khác nhau. Bởi vì sơ đồ địa chỉ internet, những phân bố này trên nhiều máy
chủ để hiển thị cho người dùng. Bất cứ thay đổi của phân bố hay chuyển đổi các bộ
phận của trang web tới một máy chủ khác có thể làm ảnh hưởng tới các URL được
sử dụng cho đến nay, các liên kết tới các trang web hoặc chỉ mục được đã được thiết
lập bởi người sử dụng. Một reverse proxy tích hợp làm giảm bớt tình trạng này bằng
cách cung cấp một cách nhìn đồng nhất với một loạt server, không để lộ ra phân bổ
vật lý của hệ thống máy chủ cho người dùng cuối.
Chúng ta cần cài đặt một trang web sử dụng nhiều server khác nhau hay sử
dụng các nhà cung cấp giải pháp khác nhau. Làm thế nào để cung cấp tất cả mọi thứ
dưới một không gian ứng dụng web phù hợp mà không hiển thị cấu trúc server cho
người dùng ? Làm thế nào để đạt được sự linh hoạt trong cấu trúc mạng, ví dụ như
thêm hay loại bỏ các máy chủ mà không làm người dùng ngạc nhiên? Làm thế nào
để cung cấp một chuyển đổi dự phòng hay cân bằng tải nếu một ứng dụng web
server bị quá tải ?
Đặc biệt, chúng ta phải giải quyết các vấn đề sau:
• Không thể cài đặt hoàn chỉnh một trang web với một máy chủ duy nhất và
một nền tảng duy nhất, bởi vì lý do phức tạp, hiệu suất, độ bền vững, tái sử
dụng.
• Cần ẩn cấu trúc mạng với người dùng, do đó những thay đổi trong cấu hình
máy không làm phá vỡ những dấu trang của họ hay liên kết tới trang web
của chúng ta
• Ngoài ra qua backend server liên kết nên tiếp tục bất kể topo mạng nào.
Điều này đảm bảo các ứng dụng backend tiếp tục làm việc không có thay
đổi ngay cả khi một ứng dụng backend di chuyển tới một máy tính khác.
• Có thể thay đổi những phần đã cài đặt của trang web mà không phá hủy liên
Thực hiện cài đặt một reverse proxy tích hợp giống các bước cài đặt reverse
proxy bảo vệ. Các bước bổ sung như sau:
1- Thiết kế không gian tên trang web. Đây là bước đòi hỏi phải có một bản kế
hoạch cho phép mở rộng trong tương lai. Trong ví dụ của chúng ta, một tiền
tố đường dẫn ánh xạ tới một server cụ thể thực hiện các chức năng. Nhiều
tiền tố có thể ánh xạ cho cùng một máy. Tuy nhiên, cố gắng giữ cho tiền tố
23
ánh xạ đơn giản. Đó là một trường hợp đặc biệt liên quan đến điểm ‘/’. Một
backend server có thể xử lý cái này hay chính reverse proxy có thể hiển thị
một trang chuyển hướng cho người dùng bào gồm một menu cấu hình dịch
vụ backend. Điều này có thể thay đổi tự động với thay đổi cấu hình của
reverse proxy.
Một thay thế cho các tiền tố đường dẫn ánh xạ là để sử dụng máy ảo cho các
reverse proxy, nơi mà tên của 1 host vẫn chỉ định một dịch vụ backend. Điều
này cho phép công ty trong ví dụ của chúng ta tiếp tục cung cấp host name
gốc của họ, ngay cả sau khi họ đã chuyển sang kến trúc reverse proxy.
Sự kết hợp của các tiền tố và các máy chủ ảo cho phép nhà cung cấp dịch vụ
để lưu trữ các chức năng tương tự cho một số client mà không cần phải lặp
lại tất cả các cơ sở hạ tầng và dễ dàng mở rộng kến trúc hạ tầng nếu cần thiết.
Công ty này có thể sử dụng hệ thống này để cung cấp một dịch vụ shop
(danh mục, đặt hàng, thanh toán) cho đại lý theo địa chỉ tên miền của đại lý
của họ với server myshop.ch.
2- Cấu hình backend web server. Ngoài các vấn đề được đề cập trong mô hình
reverse proxy bảo vệ, chúng ta muốn liên kết từ một dịch vụ backend tới một
bên ngoài. Kết hợp với một menu dịch vụ backend có sẵn được tạo trong
reverse proxy, phát triển các công cụ như vậy có thể làm được ngay. Cách
tích hợp này chỉ dựa trên HTTP là dễ dàng hơn nhiều việc sử dụng một
server theo nền tảng truyền thống. Hơn nữa chúng ta có thể đảm bảo an ninh
bởi vì những backend server có thể hoạt động trong khu vực mạng riêng rẽ
không thể truy cập trực tiếp từ các tổ chức có khả năng thù địch (ví dụ, xem
xét những email worm).
Ngay cả một sự kết hợp hai reverse proxy tích hợp, một reverse proxy đối
mặt với internet và một reverse proxy sử dụng cho mạng nội bộ chia sẻ
những backend server là có thể. Điều này làm giảm chi phí, nếu các chức
năng tương tự có sẵn trên cả hai mạng.
Chỉ có một host bên ngoài được biết đến. Chỉ có một tên và một địa chỉ IP
cho reverse proxy được biết đến và có thể truy cập từ bên ngoài, trừ khi sử
dụng máy chủ ảo. Có thể tăng cường an ninh bởi vì vài máy cần phải hoạt
động trong DMZ.
Cấu trúc mạng của những backend server được ẩn. Chúng ta có thể chuyển
backend web server từ một máy này tới máy khác mà không làm mất giá trị
của các URL bên ngoài hay các liên kết tới ứng dụng.
Dễ dàng tích hợp và mở rộng. Trộn và kết hợp các ứng dụng web và công
nghệ trở lên khả thi cho backend web server và minh bạch cho người dùng
cuối.
Các trang đánh dấu và liên kết tới backend vẫn tiếp tục hoạt động ngay cả
khi backend được chuyển tới host khác.
Có thể cân bằng tải các backend server với reverse proxy. Tuy nhiên, nếu
những reverse proxy thực hiện phiên, reverse proxy phải gắn vào tài khoản.
25
Sự ghi chép tập chung. Reverse proxy tích hợp cung cấp móc nối tốt để thực
hiện truy cập hay ghi chép lỗi. Những reverse proxy lý tưởng không còn cần
chí có thể là sự cần thiết cho một môi trường thử nghiệm hoàn chỉnh bao
gồm tất cả các backend để xác định tất cả các liên kết chéo.