Giới thiệu

Máy chủ lưu lượng truy cập Apache là một máy chủ proxy có khả năng mở rộng có khả năng mở rộng cao có khả năng xử lý khối lượng lớn các yêu cầu đồng thời trong khi vẫn duy trì độ trễ rất thấp. So với các máy chủ proxy phổ biến khác, chẳng hạn như Varnish hoặc Squid, nó thường tiêu thụ ít bộ nhớ hơn và đáp ứng nhanh hơn. Nó cũng được thiết kế để tận dụng tối đa bộ xử lý đa lõi hiện đại. Tùy thuộc vào yêu cầu của bạn, bạn có thể sử dụng nó làm proxy ngược hoặc proxy chuyển tiếp.

Hướng dẫn này sẽ trình bày cách cài đặt Apache Traffic Server trên Ubuntu 14.04 và cấu hình nó để hoạt động như một proxy đảo ngược bộ nhớ đệm.

Điều kiện tiên quyết

Để làm theo hướng dẫn này, bạn sẽ cần:

  • One Ubuntu 14.04 Droplet

  • A người dùng sudo không phải root

  • Ít nhất 1 GB -không gian hoán đổi

Bước 1 - Cài đặt Traffic Server

Bởi vì Traffic Server có sẵn trên kho lưu trữ mặc định của Ubuntu 14.04, bạn có thể cài đặt nó bằng cách sử dụng apt-get. Đảm bảo bạn cập nhật các tệp chỉ mục của gói trước khi thực hiện việc này.

sudo apt-get update && sudo apt-get install trafficserver

Traffic Server lắng nghe trên cổng 8080 theo mặc định. Bạn có thể sử dụng trình duyệt để truy cập http://your_server_ip:8080/ hiện nay. Tuy nhiên, bạn sẽ thấy một lỗi vì bạn chưa định cấu hình nó.

Bước 2 - Cài đặt Máy chủ Web

Theo định nghĩa, máy chủ proxy đóng vai trò trung gian giữa người dùng bên ngoài và máy chủ web. Vì vậy, trước khi bạn bắt đầu cấu hình máy chủ lưu lượng truy cập, bạn nên cài đặt một máy chủ web như Apache HTTP Server trên máy của bạn.

Cài đặt và khởi động Apache bằng apt-get.

sudo apt-get install apache2

Bây giờ bạn có thể sử dụng trình duyệt và truy cập http://your_server_ip/ để xem trang chào đón của Apache.

Bước 3 - Vô hiệu hóa quyền truy cập từ xa vào máy chủ Web

Apache chấp nhận các kết nối trên tất cả các giao diện mạng theo mặc định. Bằng cách cấu hình nó để chấp nhận các kết nối chỉ trên giao diện loopback, bạn có thể đảm bảo rằng nó không thể truy cập được đối với người dùng từ xa.

Mở ports.conf sử 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 kiếm dòng có chứa Listen 80 chỉ thị và thay đổi nó thành:

ports.conf

Listen  127.0.0.1:80

Lưu và thoát tệp.

Tiếp theo, mở apache2.conf.

sudo nano /etc/apache2/apache2.conf

Thêm dòng sau vào cuối tập tin:

apache2.conf

ServerName localhost

Lưu và đóng tập tin.

Để áp dụng các thay đổi cấu hình, hãy khởi động lại Apache bằng lệnh sau đây:

sudo service apache2 restart

Thử sử dụng trình duyệt để truy cập http://your_server_ip/ lần nữa. Trình duyệt của bạn sẽ hiển thị lỗi ngay bây giờ vì bạn đã chặn truy cập từ xa vào máy chủ.

Bước 4 - Cấu hình máy chủ lưu trữ như một Proxy ngược

Trong bước này, chúng ta sẽ cấu hình Traffic Server như một reverse proxy. Để làm như vậy, hãy mở remap.config, đó là tệp bạn nên chỉnh sửa để xác định quy tắc ánh xạ của Máy chủ lưu lượng truy cập.

sudo nano /etc/trafficserver/remap.config

Hãy tạo một quy tắc đơn giản cho biết tất cả các yêu cầu đến địa chỉ IP của máy chủ trên cổng 8080 được ánh xạ tới địa chỉ và cổng cục bộ của máy chủ web. Bạn có thể làm như vậy bằng cách thêm dòng sau vào cuối tệp:

remap.config

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 lập bản đồ mới, hãy sử dụng reread_config lệnh của traffic_line:

sudo traffic_line --reread_config

Mở trình duyệt và truy cập http://your_server_ip:8080/. Nếu bạn có thể thấy trang chào đón của Apache ngay bây giờ, bạn đã cấu hình thành công Máy chủ lưu trữ làm proxy ngược.

Bước 5 - Cấu hình Traffic Server cho Cache

Theo mặc định, Máy chủ lưu lượng truy cập sẽ cache một phản hồi HTTP chỉ khi nó chứa một Cache-Control hoặc là Expires header xác định rõ ràng mục sẽ được lưu trong bộ nhớ cache trong bao lâu. Tuy nhiên, vì máy chủ web của chúng tôi chỉ phục vụ các tệp tĩnh, nên an toàn để lưu trữ tất cả các phản hồi của nó.

Để cấu hình Traffic Server sao cho nó lưu trữ tất cả các phản hồi HTTP, bạn nên thay đổi giá trị của một biến cấu hình được gọi là proxy.config.http.cache.required_headers đến 0. Điều này có thể được thực hiện bằng cách sử dụng set_var lệnh 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 reread_config cờ.

sudo traffic_line --reread_config

Mở trình duyệt và truy cập http://your_server_ip:8080/ lần nữa. Điều này sẽ lưu trữ trang chào đón của Apache trong bộ nhớ cache của Máy chủ lưu trữ.

Bước 6 - Kiểm tra Cache

Để xem nội dung của 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 dựa trên web.

Để kích hoạt công cụ, hãy đặt giá trị của proxy.config.http_ui_enabled biến cấu hình cho 1.

sudo traffic_line --set_var proxy.config.http_ui_enabled --value 1

Tiếp theo, tạo quy tắc ánh xạ chỉ định đường dẫn bạn muốn sử dụng để truy cập nó. Mở remap.config một lần nữa sử dụng nano.

sudo nano /etc/trafficserver/remap.config

Hãy làm cho Trình kiểm tra bộ nhớ cache có sẵn trên /inspect. Để làm như vậy, hãy thêm dòng sau vào hàng đầu của tệp:

remap.config

map http://your_server_ip:8080/inspect http://{cache}

Lưu file và thoát.

Để áp dụng các thay đổi, hãy khởi động lại Máy chủ lưu lượng truy cập.

sudo service trafficserver restart

Bộ kiểm tra bộ nhớ cache hiện đã sẵn sàng để sử dụng. Mở trình duyệt và truy cập http://your_server_ip:8080/inspect/. Bạn sẽ thấy một trang trông như thế này:

Cache Inspector's home page

Tiếp theo, nhấp vào Url tra cứu liên kết.

Bây giờ bạn có thể nhập vào một URL trong trường văn bản và nhấp vào Tra cứu để kiểm tra xem nó có được lưu trữ trong bộ đệm không.

Ví dụ: bạn có thể nhập http://your_server_ip:8080/ để kiểm tra xem trang chủ của máy chủ web của bạn có đang được phân phát từ bộ nhớ cache hay không. Nếu có, bạn sẽ thấy một trang trông như sau:

Cached document details

Phần kết luận

Bây giờ bạn đã biết cách cài đặt Apache Traffic Server trên Ubuntu 14.04 và cấu hình nó như một proxy ngược lại bộ nhớ đệm. Mặc dù chúng tôi đã sử dụng Apache làm máy chủ web trong hướng dẫn này, bạn có thể dễ dàng sử dụng bất kỳ máy chủ web nào khác. Để tìm hiểu thêm về Traffic Server, bạn có thể thực hiện Hướng dẫn của quản trị viên.