Przejdź do głównej treści

Kwalifikacja: INF.02 - Administracja i eksploatacja systemów komputerowych, urządzeń peryferyjnych i lokalnych sieci komputerowych

Zawód: Technik informatyk

Kategorie: Systemy operacyjne Sieci komputerowe Licencje i oprogramowanie Linux/Unix

Fragment pliku httpd.conf serwera Apache ma postać

Listen 8012
ServerName localhost:8012
Aby sprawdzić poprawne działanie strony WWW na serwerze, należy w przeglądarce wpisać
A. http://localhost
B. http://localhost:8012
C. http://localhost:apache
D. http://localhost:8080

Pytanie z egzaminu CKE, styczeń 2020 (arkusz E.13-SG-20.01).

W tym fragmencie konfiguracji Apache kluczowa jest dyrektywa Listen 8012. Oznacza ona, że serwer HTTP nasłuchuje połączeń na porcie 8012, a nie na domyślnym porcie 80. Dyrektywa ServerName localhost:8012 dodatkowo wskazuje nazwę hosta i port, pod którym serwer ma się identyfikować. Dlatego w przeglądarce trzeba wpisać adres http://localhost:8012. Samo localhost oznacza komputer lokalny, czyli 127.0.0.1 albo ::1, ale gdy nie podamy portu, przeglądarka dla protokołu HTTP automatycznie użyje portu 80. Tu to by nie zadziałało, jeśli Apache nie słucha na 80. Z mojego doświadczenia to bardzo częsty przypadek przy testowaniu kilku usług WWW na jednym komputerze, np. Apache na 8012, panel aplikacji na 8080, a inny serwer testowy na 3000. Dobra praktyka jest taka, żeby po zmianie portu w konfiguracji sprawdzić też zaporę systemową, zrestartować usługę Apache i potwierdzić nasłuchiwanie poleceniem typu netstat, ss albo lsof. W adresie URL składnia host:port jest standardowym sposobem wskazywania niestandardowego portu usługi HTTP.
W tym zadaniu łatwo pomylić nazwę hosta z portem usługi, bo wszystkie odpowiedzi wyglądają dość podobnie. Adres http://localhost odwołuje się do lokalnego komputera, ale bez jawnie podanego portu przeglądarka przyjmuje standardowy port HTTP, czyli 80. Jeśli w konfiguracji Apache ustawiono Listen 8012, to serwer oczekuje żądań właśnie na porcie 8012, więc samo localhost najpewniej nie trafi do tej instancji serwera. Moim zdaniem to jeden z tych szczegółów, które potem w praktyce zabierają sporo czasu przy diagnozowaniu, bo strona nie działa, a usługa wcale nie jest zepsuta, tylko słucha gdzie indziej.

Adres z portem 8080 też jest technicznie poprawną składnią URL, ale nie wynika z podanej konfiguracji. Port 8080 bywa używany jako alternatywny port HTTP, często dla Tomcata, proxy albo środowisk developerskich, jednak tutaj nie ma żadnej informacji, że Apache został do niego przypisany. Nie należy więc zgadywać portu na podstawie przyzwyczajeń.

Zapis http://localhost:apache jest niepoprawny w tym kontekście, ponieważ po dwukropku w adresie URL podaje się numer portu, a nie nazwę programu. Port jest wartością liczbową z zakresu od 0 do 65535. Apache to nazwa serwera WWW, a nie parametr adresu. Typowy błąd myślowy polega tu na traktowaniu dwukropka jako ogólnego separatora opisu usługi, podczas gdy w adresach sieciowych host:port ma bardzo konkretne znaczenie. Poprawne podejście to odczytać dyrektywę Listen i przepisać jej numer portu do adresu w przeglądarce.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.