Apache Traffic Server to bardzo wydajny web proxy cache, który jest w stanie obsługiwać duże ilości jednoczesnych żądań zachowując bardzo niską latencję. W porównaniu do innych popularnych serwerów proxy, takich jak Varnish lub Squid, on zazwyczaj zużywa mniej pamięci i reaguje szybciej. W zależności od potrzeb, można użyć go jako reverse proxy lub jako forward proxy.
Ten artykuł dotyczy instalacji i konfiguracji Apache Traffic Server na Ubuntu 14.04.
Będę pracować z serwerem VPS Ubuntu 14.04 i jestem zalogowany jako user sudo.
Krok #1: Instalacja Traffic Server`a
Ponieważ Apache Traffic Server jest dostępny na Ubuntu 14.04 domyślnie, można go zainstalować używając apt-get
.
sudo apt-get update && sudo apt-get install trafficserver
Traffic Server działa na porcie 8080 domyślnie. Można użyć przeglądarki, aby sprawdzić http://your_server_ip:8080/. Jednak zobaczysz komunikat o błędzie, ponieważ Traffic Server jeszcze nie jest skonfigurowany.
Krok #2: Instalacja serwera WWW
Z definicji, serwer proxy działa jako pośrednik między użytkownikami zewnętrznymi i serwerem WWW. Dlatego przed rozpoczęciem konfigurowania Traffic Server`a, należy zainstalować serwer WWW na komputerze, na przykład Apache HTTP Server.
Zainstaluj i uruchom Apache używając polecenia apt-get.
sudo apt-get install apache2
Teraz można korzystać z przeglądarki i odwiedzić http://your_server_ip/, aby zobaczyć stronę powitalną Apache.
Krok #3: Wyłączenie zdalnego dostępu do serwera WWW
Apache akceptuje połączenia na wszystkich interfejsach sieciowych domyślnie. Konfigurując je do akceptowania połączenia tylko na interfejsie loopback, można mieć pewność, że połączenie jest niedostępne dla użytkowników zdalnych.
Otwórz porty.conf za pomocą Nano lub użyj Twój ulubiony edytor tekstu.
sudo nano /etc/apache2/ports.conf
Szukaj wiersza zawierającego Listen 80 dyrektywę i zmień go na adres:
Listen 127.0.0.1:80
Zapisz i zamknij plik.
Następnie otwórz plik apache2.conf.
sudo nano /etc/apache2/apache2.conf
Dodaj następujący wiersz na końcu pliku:
ServerName localhost
Zapisz i zamknij plik.
Aby zastosować zmiany konfiguracji, należy ponownie uruchomić Apache za pomocą następującego polecenia:
sudo service apache2 restart
Spróbuj użyć przeglądarki, aby odwiedzić http://your_server_ip/ ponownie. Teraz rzeglądarka powinna pokazać błąd, ponieważ zdalny dostęp do serwera jest zablokowany.
Krok #4: Konfiguracja Traffic Server`a jako Reverse Proxy
W tym kroku będziemy skonfigurować Traffic Server jako Reverse Proxy. Aby to zrobić, otwórz plik remap.config, który należy edytować w celu określenia reguł mapowania Traffic Server`a.
sudo nano /etc/trafficserver/remap.config
Stwórzmy prostą regułę, która mówi, że wszystkie żądania na adres IP serwera na porcie 8080 są przypisane do adresu lokalnego serwera WWW i portu. Można to zrobić dodając następującą linię na końcu pliku:
map http://your_server_ip:8080/ http://127.0.0.1:80/
Zapisz i zamknij plik.
Aby aktywować nową regułę mapowania użyj polecenia reread_config z traffic_line:
sudo traffic_line --reread_config
Otwórz przeglądarkę i odwiedź http://your_server_ip:8080/. Jeżeli teraz jesteś w stanie zobaczyć stronę powitalną Apache, to znaczy że Traffic Server skonfigurowany jako reverse proxy.
Krok #5: Konfiguracja Traffic Server`a: Cache
Domyślnie Traffic Server będzie buforować odpowiedzi HTTP tylko wtedy, gdy zawiera tytuł Cache-Control lub Expires wyraźnie określający, jak długo element powinien być przechowywany w pamięci podręcznej.
Aby skonfigurować Traffic Server taki, że buforuje wszystkie odpowiedzi HTTP, należy zmienić wartość zmiennej config o nazwie proxy.config.http.cache.required_headers na 0. Można to zrobić za pomocą polecenia set_var z traffic_line.
sudo traffic_line --set_var proxy.config.http.cache.required_headers --value 0
Zastosuj zmiany za pomocą reread_config:
sudo traffic_line --reread_config
Otwórz przeglądarkę i odwiedź http://your_server_ip:8080/. Spowoduje to zapisanie strony powitalnej Apache w pamięci podręcznej Traffic Server`a.
Krok #6: Sprawdzanie Cache
Aby wyświetlić zawartość pamięci podręcznej Traffic Server`a można użyć narzędzia o nazwie Cache Inspector, który posiada interfejs internetowy.
Aby aktywować narzędzie należy ustawić wartość zmiennej config o nazwie proxy.config.http_ui_enabled jako 1.
sudo traffic_line --set_var proxy.config.http_ui_enabled --value 1
Następnie należy utworzyć regułę mapowania określający ścieżkę którą chcesz użyć, aby go otworzyć. Otwórz remap.config ponownym użyciem Nano.
sudo nano /etc/trafficserver/remap.config
Zróbmy Cache Inspector dostępnym na /inspect. Aby to zrobić, należy dodać następujący wiersz na górze pliku:
map http://your_server_ip:8080/inspect http://{cache}
Zapisz i zamknij plik.
Aby zmiany zostały zastosowane, należy ponownie uruchomić Traffic Server:
sudo service trafficserver restart
Cache Inspector jest teraz gotowy do użycia. Otwórz przeglądarkę i odwiedź http://your_server_ip:8080/inspect/. Zobaczysz stronę, która wygląda tak:
Następnie kliknij link Lookup url.
Teraz można wpisać adres URL w polu tekstowym i kliknij przycisk Lookup, aby sprawdzić czy jest on przechowywany w pamięci podręcznej.
Na przykład, można wpisać http://your_server_ip:8080/ i sprawdzić czy strona główna serwera sieci Web jest serwowana z pamięci podręcznej. Jeżeli tak, zobaczysz stronę, która wygląda tak:
Gratulacje, teraz już umiesz zainstalować i skonfigurować Apache Traffic Server na Ubuntu 14.04!