Hướng dẫn cài đặt Apache Traffic Server như một Reverse-Proxy trên Ubuntu 14.04
Hướng dẫn cài đặt Apache Traffic Server như một Reverse-Proxy trên Ubuntu 14.04
Giới Thiệu
Apache Traffic Server là một máy chủ proxy lưu trữ có thể mở rộng có khả năng xử lý đồng thời một khối lượng lớn request trong lúc đang duy trì độ trễ rất thấp. Khi so sánh với các máy chủ proxy đang phổ biến khác như là Varnish hay Squid, Apache Traffic Server tiêu tốn ít dung lượng hơn và xử lí nhanh hơn. Nó cũng được thiết kế để tận dụng tối đa các bộ xử lí đa nhân hiện nay. Tuỳ thuộc vào yêu cầu của bạn, bạn có thể dùng nó như một reverse proxy hay như một forward proxy.
Bài hướng dẫn này sẽ bao gồm làm thế nào để cài đặt Apache Traffic Server trên Ubuntu 14.04 và cấu hình nó để nó hoạt động như một reverse proxy lưu trữ.
Điều kiện bắt buộc
Để làm theo bài hướng dẫn này thì bạn sẽ cần:
- M
Người dùng sudo chưa bị root (tham khảo bài viết: Hướng dẫn tạo mới User và gán quyền Root trên Ubuntu 14.04).
- Ít nhất 1Gb dữ liệu vùng nhớ;
Bước 1 — Cài đặt Traffic Server
Bởi vì Traffic Server có sẵn trên kho mặc định của Ubuntu 14.04, bạn có thể cài đặt nó bằng cách dùng apt-get
. Hãy chắc chắn rằng bạn đã cập nhật tệp chỉ dẫn của bạn trước khi cài đặt.
sudo apt-get update && sudo apt-get install trafficserver
Traffic Server truy cập trên cổng 8080 theo mặc định. Bạn có thể dùng trình duyệt để truy cập vào địa chỉ http://your_server_ip:8080/
bây giờ. Tuy nhiên, bạn sẽ thấy lỗi vì bạn vẫn chưa tạo cấu hình cho nó.
Bước 2 — Cài đặt Web Server
Theo định nghĩa,proxy server hoạt động như một vật trung gian giữa người dùng bên ngoài và web server . Cho nên, trước khi tạo cấu hình cho Traffic Server, bạn nên cài đặt web server, ví dụ như máy chủ Apache HTTP trên thiết bị của bạn.
Cài đặt và khởi động Apache bằng cách sử dụng apt-get
.
sudo apt-get install apache2
Bây giờ bạn hãy dùng một trình duyệt và truy cập vàohttp://your_server_ip/
để thấy trang bắt đầu của Apache
Bước 3 —Vô hiệu hoá quyền truy cập từ xa đến Web Server
Apache cho phép quyền kết nối tới tất cả giao diện mạng theo mặc định, Bằng cách tạo cấu hình cho nó để cho phép quyền kết nối chỉ trên giao diện loopback, bạn có thể chắc chắn rằng người dùng từ xa sẽ không thể truy cập nó được.
Mở ports.conf
bằng cách dùng nano
hoặc trình soạn thảo văn bản yêu thích của bạn.
sudo nano /etc/apache2/ports.conf
Tìm dòng chứa Listen 80
chỉ thị và đổi nó thành:
Listen 127.0.0.1:80
Lưu file và thoát.
Tiếp theo, mở apache2.conf
.
sudo nano /etc/apache2/apache2.conf
Thêm dòng dưới đây vào cuối file:
ServerName localhost
Lưu và đóng file.
Để áp dụng những thay đổi cấu hình đó, khởi động lại Apache bằng cách sử dụng command sau:
sudo service apache2 restart
Thử sử dụng một trình duyệt để truy cập lại vào
http://your_server_ip/
. Trình duyệt của bận nên hiện ra error, bởi vì bạn đã chặn quyền truy cập từ xa tới server đó.
Bước 4 — Tạo cấu hình cho Traffic Server như một Reverse Proxy
Ở trong bước này, bạn sẽ tạo cấu hình cho Traffic Server như một reverse proxy. Để làm như vậy, mở remap.config
, mở cái mà là file mà bạn nên edit để xác định quy tắc lập bản đồ của Traffic Server.
sudo nano /etc/trafficserver/remap.config
Hãy tạo một quy tắc đơn gỉản thông báo cho tất cả những request tới địa chỉ IP của server trên cổng 8080 được sắp xếp tới địa chỉ cục bộ của web server và cổng. Bạn có thể làm như vậy bằng cách thêm dòng sau đây vào cuối file:
map http://your_server_ip:8080/ http://127.0.0.1:80/
Lưu file và thoát.
Để kích hoạt quy tắc tạo bản đồ mới, sử dụng reread_config
command của traffic_line
:
sudo traffic_line --reread_config
Mở trình duyệt và truy cập vào http://your_server_ip:8080/
. Nếu bạn có thể thấy trang bắt đầu của Apache bây giờ tức là bạn đã tạo cấu hình thành công cho Traffic Server như một reverse proxy.
Bước 5— Tạo cấu hình cho Traffic Server để lưu trữ mọi thức
Theo mặc định, Traffic Server sẽ lưu trữ phản hồi của HTTP chỉ khi nó chứa Cache-Control
hoặc Expires
tiêu đề rõ ràng chỉ rõ item đó nên được lưu trong bao lâu trong cache. Tuy nhiên, bởi vì web server của chúng ta chỉ xử lí các tệp tin tĩnh cho nên việc lưu trữ toàn bộ phản hồi của HTTP là an toàn.
Để tạo cấu hình cho Traffic Server sao cho nó lưu trữ tất cả phản hồi HTTP, bạn nên thay đổi giá trị của biến cấu hình được gọi là proxy.config.http.cache.required_headers
về 0. Bạn có thể dử dụng set_var
command của traffic_line
.
sudo traffic_line --set_var proxy.config.http.cache.required_headers --value 0
Áp dụng thay đổi bằng cách sử dụng flag reread_config
.
sudo traffic_line --reread_config
Mở trình duyệt và truy cập lại vào http://your_server_ip:8080/
. Nó sẽ lưu trữ trang bắt đầu của Apache trong cache của Traffic Server.
Bước 6 — Kiểm tra Cache
Để xem nội dung cache của Traffic Server, bạn có thể sử dụng một công cụ gọi là Cache Inspector có giao diện web.
Để kích hoạt công cụ này, đặt giá trị của biến cấu hình proxy.config.http_ui_enabled
về 1.
sudo traffic_line --set_var proxy.config.http_ui_enabled --value 1
Tiếp theo, tạo quy luật tạo bản đồ xác định đường dẫn mà bạn muốn sử dụng để truy cập. Mở lại remap.config
bằng cách sử dụng nano
.
sudo nano /etc/trafficserver/remap.config
Hãy là cho Cache Inspector khả dụng trên /inspect
. Để làm như vậy, thêm dòng dưới đây vào đầu file:
map http://your_server_ip:8080/inspect http://{cache}
Lưu file và thoát ra.
Để áp dụng những thay đổi, khởi động lại Traffic Server
sudo service trafficserver restart
Hiện tại Cache Inspector đã có thể sử dụng. Mở trình duyệt và truy cập vào
http://your_server_ip:8080/inspect/
.Bạn sẽ thấy một trang trông như thế này
Tiếp theo, click vào đường link Lookup url.
Bây giờ bạn có thể gõ một URL trong một trường văn bản và click vào nút Lookup để kiểm tra xem liệu rằng nó đã được lưu trong cache chưa.
Ví dụ, bạn có thể gõ để kiểm tra xem liệu rằng trang chủ của web server của bạn đã được phục vụ từ cache chưa. Nếu có, bạn sẽ thấy một trang nhìn trông như thế này
Ví dụ, bạn có thể gõ http://your_server_ip:8080/
để kiểm tra xem liệu rằng trang chủ của web server của bạn đã được phục vụ từ cache chưa. Nếu có, bạn sẽ thấy một trang nhìn trông như thế này:
Kết luận
Bây giờ bạn đã biết làm thế nào để cài đặt Apache Traffic Server trên Ubuntu 14.04 và tạo cấu hình cho nó như một reverse-proxy. Cho dùng chúng ta đã sử dụng Apache với tư cách là một web server trong bài hướng dẫn này, bạn có thể dễ dàng sử dụng bất cứ web server nào khác.