Apache IP i oparte na nazwach wirtualne hosty

Apache IP i oparte na nazwach wirtualne hosty

Dzięki użyciu wirtualnych hostów możemy zrobić httpd serwer zarządza wieloma stronami internetowymi. Możemy używać wirtualnych hostów IP i nazwy; Jakie są różnice między nimi?

Jak apache decyduje, co powinno być wirtualne hosty
Służy do odpowiedzi na żądanie klienta? Odpowiemy na te pytania
Artykuł, czytaj dalej!

W tym samouczku nauczysz się:

  • Jakie są różnice między wirtualnymi hostami IP i nazwy
  • Co to jest Słuchać dyrektywa i sposób jej używanego
  • Jak Apache decyduje, jakiego wirtualnego hosta należy użyć do odpowiedzi na żądanie
Apache IP i oparte na nazwach wirtualne hosty

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Niezależny dystrybucja
Oprogramowanie Brak konkretnego oprogramowania
Inny Znajomość z serwerem WWW Apache i podstawowymi koncepcjami HTTP
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Dyrektywa „słuchaj”

Pierwszą rzeczą, którą należy wziąć pod uwagę, jest Słuchać dyrektywa. Ta dyrektywa jest obowiązkowa i jest potrzebna do powiedzenia httpd serwer do czego Porta IP kombinacja powinna słuchać żądań. Domyślnie serwer jest zwykle skonfigurowany do słuchania każdego Ip na porcie 80.

W /etc/httpd/conf/httpd.conf który jest głównym httpd Plik konfiguracyjny w systemach Fedora/Rhel/Centos w linii 45, Na przykład możemy przeczytać:

Posłuchaj 80 

Jak widać, tylko port jest określony Słuchać dyrektywa. W rezultacie serwer będzie słuchać tego portu na wszystkich adresach IP komputera. Jeśli określono adres, serwer będzie słuchać tylko w dostarczonym IP: Port połączenie.

Słuchać Dyrektywa może być wielokrotnie powtarzana, dlatego bardzo łatwo jest określić wiele kombinacji.

Dopasowanie wirtualne



Po skonfigurowaniu serwera do słuchania określonego adresu lub portu Apache musi zdecydować, jakiego VirtualHost należy użyć do spełnienia żądania klienta. Przed zobaczeniem kroków związanych z tą decyzją krótko zobaczmy, jak zdefiniowany jest wirtualny host.

Dyrektywa używana do tworzenia i konfigurowania wirtualnego hosta jest Virtualhost; Wykorzystuje następującą składnię:

Jak możemy obserwować, każdy Virtualhost dyrektywa potrzebuje addr; Można to określić jako:

  • Adres IP, IPv4 lub IPv6 (adresy IPv6 muszą być zamknięte w nawiasach kwadratowych);
  • W pełni kwalifikowana nazwa domeny;
  • A * Wildcard (to będzie pasować do wszystkich adresów)

Wszystkie parametry i konfiguracje wykonane wewnątrz tagi, są „lokalne” dla tego konkretnego wirtualnego hosta. Oto przykład wirtualnej konfiguracji hosta:

 Servername: www.przykład.com dokumentroot "/var/www/exkutone"  

Lub za pomocą wieloznacznej karty:

 Servername: www.przykład.com dokumentroot "/var/www/exkutone"  

Pierwszą rzeczą, którą robi serwer, jest analiza, w kolejności każdego wirtualnego hosta i sprawdzenie, czy ich addr odpowiada żądaniu. Należy zauważyć, że zdefiniowane adresy IP mają priorytet w stosunku do wieloznacznych, które są rozważane tylko wtedy, gdy nie znaleziono dokładnych dopasowań. W tym momencie możemy mieć trzy przypadki:

  1. Tylko jeden wirtualny host pasuje do żądania;
  2. Żadne wirtualne hosty nie pasują do żądania;
  3. Wiele wirtualnych hostów pasuje do żądania;

Pierwsza rozdzielczość przypadku jest łatwa: jeśli żądanie klienta pasuje tylko do jednego konkretnego wirtualnego hosta, httpd Serwer odpowiada, obsługując treść związaną z tym wirtualnym hostem. W tym przypadku rozmawiamy o Oparte na IP wirtualne hosty.

Drugi przypadek można również łatwo wyjaśnić: jeśli żadna wirtualna konfiguracja hosta nie spełnia żądania klienta, domyślna konfiguracja serwera służy do odpowiedzi na żądanie. W przypadku konfiguracji domyślnej zamierzamy wszystko ustawić poza .

W trzecim przypadku wiele wirtualnych hostów pasuje do żądania klienta. Kiedy tak się dzieje, serwer musi odróżnić w zależności od innego czynnika innego niż IP: Port Połączenie: schemat i nazwa hosta, którego wirtualny host używa do identyfikacji siebie.



Wirtualne hosty oparte na nazwach

Serwer bada każdy pasujący wirtualny host w kolejności definicji i wybiera, który należy użyć w zależności od żądanego Nazwa hosta. Nazywa się to wirtualnymi hostami „opartymi na nazwach”. Pierwszy wirtualny host, który pasuje do żądania, jest używany. Jeśli nie ma dopasowań, serwer używa Pierwszy zdefiniowane Virtualhost jako awarie.

Główną zaletą korzystania z wirtualnych hostów opartych na nazwach jest to, że możemy uruchomić wiele stron internetowych na tym samym adresie IP. Zobaczmy przykład wirtualHost opartych na nazwie:

 Servername www.serwer.com dokumentroot/var/www/serverone  

Od *: 80 jest używany jako adres, wirtualny host będzie pasował do każdego żądania złożonego w porcie 80. W tym przypadku robi różnicę Nazwa serwera dyrektywa. Jeśli ta dyrektywa zostanie pominięta, serwer spróbuje uzyskać w pełni kwalifikowaną nazwę domeny (FQDN) na podstawie nazwy hosta systemu operacyjnego.

Serwer sprawdza, czy nazwa hosta określona w żądaniu pasuje do tego, że skonfigurowana za pomocą Nazwa serwera dyrektywa, w tym przypadku www.serwer.com. Jeśli tak, zawartość określona za pomocą DocumentRoot dyrektywa, że ​​jest ona służyła klientowi.

W wirtualnej konfiguracji hosta można również zdefiniować jedno lub więcej aliasów, aby dopasować wiele nazw hostów. Odbywa się to przy użyciu Serveralias dyrektywa:

 Servername www.serwer.com serveralias *.serwer.com dokumentroot/var/www/serverone  


W powyższej konfiguracji dodaliśmy Serveralias Instrukcja za pomocą wieloznacznej karty. Konfiguracja będzie teraz zgodna również z każdą subdomeną serwer.com.

Wirtualne hosty oparte na IP

Wirtualne hosty oparte na IP, jak już widzieliśmy, są w zasadzie tym, co httpd Domyślnie serwer używa. Podczas ich korzystania z nich możliwość obsługi wielu stron jest oparta na żądaniu klienta IP: Port połączenie.

Samo w sobie używa tego typu hostów wirtualnych, maszyna musi mieć wiele adresów sieciowych. Nie oznacza to, że wymagane jest wiele fizycznych interfejsów sieciowych, ponieważ wiele adresów można przypisać do tego samego interfejsu (nazywa się to Aliasing IP), a także wirtualne interfejsy (chcesz wiedzieć, jak utworzyć wirtualny interfejs sieciowy w Linux?

Spójrz na nasz artykuł na temat tworzenia wirtualnych interfejsów sieciowych w Linux. Oto dwa przykłady wirtualnych hostów opartych na IP:

Posłuchaj 8080 Servername: www.przykład.com dokumentroot "/var/www/examperone" Servername www.Exampletwo.com dokumentroot "/var/www/exampletwo"  

Powyżej możemy zobaczyć, że nawet jeśli dwa wirtualne hosty mają ten sam adres IP, w drugim przykładzie określono inny port: 8080. Aby serwer mógł słuchać tego portu, używamy Posłuchaj 8080 dyrektywa.

Wniosek

W tym samouczku widzieliśmy, jak działają wirtualne hosty Apache. Nauczyliśmy się różnicy między wirtualnymi hostami IP i nazwy oraz sposób, w jaki serwer określa, jaką konfigurację należy użyć do odpowiedzi na żądanie klienta. Spójrz na instalację artykułu Apache, jeśli chcesz dowiedzieć się więcej o tym, jak skonfigurować wirtualny host Apache.

Powiązane samouczki Linux:

  • Jak migrować Apache do Nginx, przekształcając wirtualne hosty na…
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Mastering Bash Script Loops
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Jak skonfigurować serwer OpenVPN na Ubuntu 20.04
  • GNU/Linux Ogólne Przewodnik po rozwiązywaniu problemów dla początkujących
  • Jak utworzyć stos lampy na bazie Dockera za pomocą Dockera na…
  • Utwórz przekieruj i przepisuj reguły do .Htaccess na Apache…
  • Jak zarządzać dynamicznymi wirtualnymi hostami z Apache i…
  • Jak pracować z WooCommerce Rest API z Pythonem