Załóżmy, że Server A
skonfigurowałeś swój ulubiony demon serwera WWW do obsługi www.example.com
. Teraz chcesz to przenieść Server B
. Po operacji kopiowania i konfigurowania nowy serwer wydaje się gotowy. Ostatni test byłby w porządku: Przed zmianą rekordów DNS, w jaki sposób należy prosić o www.example.com
serwer B, gdy rekordy DNS nadal wskazują serwer A?
Mimo że moje główne pytanie zostało udzielone, w przypadku, gdy / etc / hosts nie jest pod moją domeną wpływów, czy można przetestować go za pomocą telnetu, zamiast mówić surowym HTTP1.1 do serwera WWW?
domain-name-system
http
testing
Jarmund
źródło
źródło
Odpowiedzi:
DNS to magiczna rzecz. Z wystarczającą kontrolę nad komputerem klienckim, można dokonać
right.com
dowrong.com
aviceversa.io
. Wskocz na testowy komputer kliencki i zmarnuj rozdzielczość DNS, zmieniając plik hosta na tym kliencie, lub możesz zrobić coś nieco bardziej złożonego i dać temu hostowi prosty serwer DNS, aby mógł zapytaćdnsmasq
. Niezależnie od tego, w jaki sposób postępujesz w tym procesie, ostatecznym celem jest sprawienie, aby odpowiedź DNS na zapytania dotyczącewww.example.com
odpowiedzi z adresem IP dla serwera B. Nagłówki hosta HTTP nosiły wtedy nazwę DNS dla www.example.com, ale miały na celu Serwer B.Magia!
źródło
/etc/hosts
nie przyszło mi do głowy, a to działało idealnie. Pozdrawiam za przypomnienie!hosts
Plik nie jest zaangażowany w rozdzielczości DNS ale to zupełnie odrębny mechanizm nazwa odnośnika, że biblioteka rezolwer przewidziane przez system operacyjny klient może, w większości przypadków, stosowanie oprócz wyszukiwań w systemie DNS. Osobiście uważam, że „to magia” po prostu wpisuje się w „nie trzeba rozumieć”, co z pewnością jest złą rzeczą dla profesjonalistów.Ważne jest, aby pamiętać, że to, co ważne, aby wykonać taki test dla HTTP, nie jest tak naprawdę związane z DNS, ale z tym, co klient HTTP wysyła jako
Host
wartość nagłówka.Klient musi oczywiście połączyć się z odpowiednim adresem IP i portem, ale poza tym wszystko sprowadza się do
Host
nagłówka wbudowanego w samo żądanie HTTP.W celu szybkiego testu można użyć następującego polecenia bez zmiany konfiguracji poziomu systemu operacyjnego na kliencie:
lub, jeśli o to chodzi,
Aby zrobić to samo ze zwykłą przeglądarką internetową, albo potrzebujesz rozszerzenia przeglądarki, które może modyfikować nagłówki żądań (lub ewentualnie proxy HTTP, które zmienia nagłówki), lub musisz zmienić konfigurację systemu operacyjnego komputera klienckiego.
Jak już wspomniano, najłatwiejszym sposobem dokonania takiej zmiany konfiguracji byłoby dodanie wpisu do
hosts
pliku. W ten sposób biblioteka tłumacząca systemu operacyjnego otrzyma trafienie już podczas przeglądaniahosts
pliku i nie będzie nawet musiała wyszukiwać DNS.Inne opcje obejmują zmianę skonfigurowanych serwerów DNS na kliencie na serwer nazw, który jest skonfigurowany tak, aby odpowiadał zgodnie z potrzebami.
źródło
curl
pozwala zastąpić normalne rozpoznawanie nazw (DNS lub plik hosta) i nadal automatycznie wykonywać nagłówki, a także SNI, jeśli używasz / testujesz httpS. Zobacz--resolve
na swojej stronie podręcznika lub na curl.haxx.se/docs/manpage.html .Możesz to przetestować za pomocą
telnet
. Musisz wykonać surowe żądanie HTTP, wpisując polecenia. Nie możesz popełnić żadnych błędów, a niektóre serwery mają limit czasu, więc musisz także wpisać całe żądanie w tym czasie.Polecenie będzie wyglądać mniej więcej tak:
Żądanie będzie wyglądać mniej więcej tak:
Pamiętaj, że musi kończyć się pustą linią, więc naciśnij dwukrotnie klawisz Enter po nagłówku hosta.
źródło
Host
nie ma wielkich liter . (I najwyraźniej niektóre serwery mogą mieć problemy z różnymi kapitalizacjami.)Zazwyczaj zmuszam www.example.com do adresu IP serwera B na moim / etc / hosts. Robiłem to, odkąd korzystałem z Mosaic i ponieważ robię to rzadko, nie czułem potrzeby, aby znaleźć coś lepszego.
Rozglądając się trochę za tobą, znalazłem /superuser/403042/custom-host-file-for-firefox, na który odpowiada https://addons.mozilla.org/es/firefox/addon/ foxyproxy-standard /, ale ostatnio pojawiła się informacja, że jest porzucony.
źródło
Jeśli chcesz sprawdzić, czy to działa, radzę prosty broswer jak wtyczki
Modify Headers
dla Firefoksa i zmienićHOST
sięwww.mydomain.com
.źródło