Czy strona internetowa powinna być bezpośrednio dostępna według adresu IP?

34

Zauważyłem, że wiele witryn wyświetla treść swoich witryn tylko wtedy, gdy uzyskujesz do nich dostęp za pomocą nazwy FQDN (przykład, example.com). Podczas próby uzyskania dostępu za pomocą adresu IP pokazują błąd 404 nie znaleziono strony.

Czy istnieją dobre powody, dla których właściciele witryn nie chcieliby, aby ich witryny były bezpośrednio dostępne przez adres IP zamiast przez DNS?

Jakie są zalety i wady udostępniania bezpośredniego dostępu IP dla Twojej witryny?

Przepełnienie pytania
źródło

Odpowiedzi:

32

Pamiętaj, że witryna internetowa, do której prowadzi nazwa domeny, może nie być hostowana bezpośrednio w katalogu głównym adresu IP, tzn. example.orgMoże być odwzorowana na 123.45.67.89/~example. Jest to powszechne w przypadku zwykłych hostów internetowych, ponieważ nie mogą oni przydzielić adresu IP na witrynę - byłoby to niezwykle marnotrawstwem.

Dla przykładu, jeśli zrobić wyszukiwanie DNS o webmasters.stackexchange.comdostaniesz adres IP 198.252.206.140(po prawej stronie na stronie internetowej I powiązany). Chociaż adres IP przechodzi do strony StackExchange, nie prowadzi do sekcji webmasterów, co może być podobne 198.252.206.140/www/webmasters.

Jedną z wad korzystania z adresu IP (lub czegoś podobnego 123.45.67.89/~example) jest potrzeba statycznego adresu IP. Jeśli z jakiegoś powodu adres IP powinien ulec zmianie, nie można przekierować użytkowników. Natomiast w przypadku nazwy domeny wystarczy po prostu zaktualizować rekordy DNS, aby wskazywały nowy adres IP.

Choć nie są do końca powiązane, kolejnym oczywistym oszustwem adresów IP jest to, że trudniej je zapamiętać niż nazwę i zakończenie.

Domyślnie witryna będzie dostępna za pośrednictwem nazwy domeny oraz adresu IP. Różne odpowiedzi / komentarze do tego pytania oferują różne perspektywy i nie chcę tego kopiować.

Osobiście nie blokowałbym dostępu według adresu IP, po prostu dlatego, że nie w taki sposób można oczekiwać, że Internet będzie działał. Ponadto zwykły użytkownik nigdy nie znajdzie losowo adresu IP Twojej witryny i na pewno nie zacznie udostępniać linków do Twojej witryny za pomocą adresu IP. Dlatego wszelkie wysiłki na rzecz SEO i bezpieczeństwa są z pewnością lepiej podejmowane gdzie indziej.

ljacqu
źródło
6
Nie sądzę, żeby twoje dwa ostatnie akapity odpowiedziały na pytanie. W moim rozumieniu OP nie pyta, czy można oferować witrynę internetową tylko za pośrednictwem adresu IP, a nie nazwy domeny, ale czy istnieją jakiekolwiek powody, by celowo uniemożliwiać użytkownikom dostęp do witryny za pomocą adresu IP .
LUB Mapper
2
Jedna mała poprawka: samo w sobie wyszukiwanie Whois pokaże tylko status rejestracji i dane kontaktowe dla nazwy domeny. Adres IP jest określany na podstawie wyszukiwania rekordów DNS. Who.is to usługa, która akurat pokazuje wam oboje, gdy szuka nazwy domeny. Ponadto znajdziesz tylko informacje o Whois stackexchange.com, a nie webmasters.stackexchange.com. gwhois.org/webmasters.stackexchange.com+dns
iglvzx
@ORMapper i iglvzx : Dziękuję obojgu bardzo! Zaktualizowałem moją odpowiedź, aby naprawić twoje uwagi, starając się skopiować jak najmniej z innych odpowiedzi, które były bardzo interesujące do przeczytania.
ljacqu
1
youtube również - jeśli wyślesz ping do youtube i uzyskasz adres IP 173.194.41.161, w końcu otrzymasz stronę główną Google.
Wilf
1
Innym problemem może być SSL, jeśli go wymusisz (co naprawdę powinieneś).
Léo Lam
9

Oryginalna wersja HTTP nie zawierała żadnego mechanizmu pozwalającego klientowi określić nazwę hosta jako część żądania. Połączył się z serwerem i wysłał tylko część ścieżki adresu URL. Jedną z wczesnych modyfikacji protokołu HTTP było dodanie możliwości wysyłania przez klienta innych informacji „nagłówka”, w tym nazwy hosta.

20 lat temu obsługa przeglądarek wirtualnych hostów była bardzo nierówna. Wówczas istniałby uzasadniony powód, aby podawać treść tylko z adresu IP. Niewielki odsetek klientów nie wysłałby nagłówka hosta. Nazwa hosta jest teraz standardowym nagłówkiem wysyłanym przez każdą przeglądarkę i przeszukiwacz sieci.

W rzeczywistości uważam, że żądania szukania treści na adresie IP prawdopodobnie nie będą zaspokojone, jeśli mój serwer odpowie na moją stronę internetową. Zwykle widzę tylko żądania IP, które są:

  • Dla strony internetowej, która kiedyś znajdowała się pod tym adresem IP
  • Próby dostępu złośliwego oprogramowania

Wolę teraz podawać błąd 404 tylko dla żądań adresu IP niż wyświetlanie mojej witryny lub przekierowywanie do mojej witryny. Moje serwery są również skonfigurowane do obsługi 404 stron w nierozpoznanych nazwach hostów, jak wyjaśniono w odpowiedzi na Jak radzić sobie z przekierowaniami złośliwych domen?

Stephen Ostermiller
źródło
Czasami próbuję uzyskać dostęp do stron internetowych za pomocą ich adresu IP; za każdym razem, gdy podejrzewam, że z moim DNSem dzieje się coś podejrzanego. W takich sytuacjach staram się znaleźć adres IP witryny i za jej pośrednictwem otworzyć witrynę. Jeśli witryna, której oczekiwałbym od normalnej nazwy domeny, ładuje się dobrze tylko przez jej adres IP, wiem, że muszę coś naprawić w moim DNS, ale jeśli dostanę komunikat o błędzie, zawsze zakładam, że coś jest zepsute na serwerze witryny i Muszę tylko poczekać, aż to się naprawi.
LUB Mapper
Tak wiele witryn korzysta obecnie z hostingu współdzielonego, więc oczekiwanie, że dostęp do nich bez nazwy hosta będzie niepraktyczny. Ta strona StackExchange nie jest dostępna tylko z adresem IP. Istnieje wiele witryn poddomeny StackExchange, które je udostępniają. StackExchange wyświetla niestandardową stronę 404, jeśli spróbujesz użyć tylko adresu IP.
Stephen Ostermiller
7

Zwłaszcza jeśli masz współdzielony hosting lub serwer z własnym hostingiem wielu domen, nie możesz uzyskać dostępu do „strony internetowej” przez IP. Dla własnego serwera możesz zdefiniować domenę podstawową, do której można dotrzeć po wprowadzeniu adresu IP. Dla współdzielonych hostów jest to niemożliwe.

Jak wspomniano w @Ijacqu, adres IP może się łatwo zmienić.

Kolejną rzeczą jest powielanie treści, więc w zasadzie nie jest to dobra praktyka.

Jeśli chcesz mieć witrynę internetową, do której można uzyskać dostęp za pośrednictwem adresu IP serwera, zdecydowanie dodaj 301 lub 302 do samej domeny.

Dla jednego serwera, którym administrowałem, dodałem małą witrynę HTML, przypominając po prostu „Witamy w 123.456.789.123” jako domyślną stronę internetową, ponieważ na tym komputerze było hostowanych kilka projektów klientów, a ja po prostu potrzebowałem rozwiązania z białą etykietą dla domyślnej witryny. Skonfigurowałem to za pomocą vhostów Apache.

Christoph Daum
źródło
3

Z punktu widzenia SEO to katastrofa.

Jeśli masz jedną stronę internetową, na przykład stackexchange.com i jest ona również dostępna z adresu IP, spowoduje to zduplikowanie treści.

Spowoduje to zniszczenie twoich rankingów i dezorientuje użytkowników, którzy będą wyszukiwać w Google i znajdować 2 wyniki dla tego samego tematu (jeden dostępny według nazwy domeny i jeden dostępny pod adresem IP)

Nigdy nie udostępniaj domeny z adresu IP.

Jeśli masz jedną domenę hostowaną na jednym serwerze, najlepszym rozwiązaniem jest 301 redirectbezpośredni dostęp adresu IP do tej domeny.

Jeśli masz więcej niż jedną domenę na serwerze, wyłącz bezpośredni dostęp do adresu IP.

krokola
źródło
4
Byłem w tym od czasu ARPA-NET. To stwierdzenie jest po prostu nieprawdziwe. Na początku nie było wirtualnego hostingu i wszystkie strony internetowe były dostępne za pośrednictwem nazwy domeny ORAZ adresu IP. Jest to nadal niezwykle powszechne dzisiaj. Wyszukiwarki są wystarczająco inteligentne, aby wiedzieć, jakie nazwy domen są obsługiwane przez adresy IP i NIE liczą tego jako zduplikowanej treści, ale tej samej witryny.
closetnoc
Przez stronę internetową został zniszczony, po aktualizacji nginx, że nie naprawiłem domyślnego serwera. Zajęło 6 miesięcy, aby 301 wszystkich 10.000.000 zaindeksowanych linków w bezpośrednim dostępie do adresu IP :(
krokola
A jeśli uważasz, że nie ma problemów z SEO (ale całkowicie się z tobą nie zgadzam), istnieje bardzo duży problem z hitami. Boty wykonają podwójne trafienia, aby zaindeksować tę samą treść. Jeśli Twoja witryna otrzyma 2.000.000 botów dziennie i zezwolisz na bezpośredni dostęp do adresu IP, boty sprawią, że 4.000.000 nie przyniesie ci żadnych korzyści.
krokola
1
W przypadku SEO można dodać opcję, <link rel="canonical" href="http://example.com" />aby uniknąć powielania treści.
Pytanie Przepełnienie
2
Ta odpowiedź jest zdecydowanie nieprawdziwa. Wiele stron internetowych jest dostępnych pod ich adresem IP, nie powoduje bólów wyszukiwarek, nie zabija twojego „SEO”. Duplikaty treści to problem techniczny, który istnieje od początku istnienia sieci, wyszukiwarki mają różne sposoby radzenia sobie z tym. To nie jest koniec świata. To powiedziawszy, jeśli preferujesz indeksowanie, dodanie rel = canonical jest świetnym sposobem na poprowadzenie wyszukiwarek w tym kierunku.
John Mueller
2

Tylko moje 2 centy, mam kilka stron internetowych na moim serwerze (około 8) i wszystkie mają dokładnie ten sam adres IP. Za pomocą nagłówków hosta nazwa FQDN pomaga serwerowi internetowemu (w moim przypadku Apache) skierować żądanie do właściwego katalogu dla danej witryny internetowej. Adres IP jest domyślnie kierowany na stronę mojej firmy. Odkryłem, że od około 2001 r. Jest to norma dla większości dostawców usług hostingowych, szczególnie biorąc pod uwagę obecny stan adresów IPv4. Tylko trochę tła, pracowałem dla Voyager.net (w Michigan) przez około 8 lat, a Voyager był firmą hostingową i dostawcą usług internetowych, który hostował ponad 80 000 domen i nie wiem, ile stron internetowych hostowaliśmy. Na marginesie, nazwa FQDN jest z definicji używana do nadawania adresom czytelnym dla ludzi adresu IP, abyśmy mogli łatwiej je zapamiętać. Znów tylko moje 2 centy.

Berbeć
źródło
1

Z punktu widzenia bezpieczeństwa jest to sprytny ruch.

Większość witryn o dużym ruchu będzie miała gdzieś CDN. Tak więc każda próba ataku DOS lub DDOS po prostu rozproszy się przez serwery CDN i nie dotrze do strony użytkownika.

Jeśli jednak użytkownik zna adres IP witryny, może bezpośrednio uruchomić atak na adres IP i natychmiast wyłączyć serwer. Dlatego większość sieci CDN oferuje opcje ukrywania adresów IP twojego serwera. Więc przekazanie 404 komuś, kto próbuje uzyskać dostęp do strony, jest dobrym posunięciem. Można to zrobić za pomocą pliku .htaccess lub hostując witrynę w miejscu innym niż domyślny katalog główny serwera.

Rana Prathap
źródło
-1

Wszyscy wspominają o współdzielonym hostingu IP, że jest to jak 1000 samochodów z tym samym numerem licencji. Jeśli jedna osoba robi coś złośliwego, ruch zostanie wyświetlony na serwerze docelowym z adresu IP. Zostaje zablokowany, podobnie jak wszyscy inni. Każda witryna, na której Ci zależy, powinna mieć własny adres IP. Każda wysłana poczta powinna pochodzić z adresu IP, a nie z udostępnionego. Zadowalam się niczym innym i jestem w tym od 1994 roku.

Larry
źródło
To nie odpowiada na pytanie. Pytanie dotyczyło tego, czy witryna powinna być dostępna za pomocą adresu IP, a nie czy witryna powinna być hostowana współdzielona. Nawet jeśli masz własny adres IP, możesz chcieć udostępnić witrynę, wpisując adres IP. Możesz także hostować kilka własnych witryn pod tym samym adresem IP.
Stephen Ostermiller