Một trang web có thể được truy cập trực tiếp bởi địa chỉ IP của nó?


34

Tôi thấy rằng nhiều trang web chỉ hiển thị nội dung trang của họ khi bạn truy cập chúng bằng FQDN của họ (ví dụ example.com:). Khi cố gắng truy cập bằng địa chỉ IP của họ, họ sẽ thấy lỗi trang web 404 không tìm thấy.

Có lý do chính đáng tại sao chủ sở hữu trang web không muốn trang web của họ có thể truy cập trực tiếp bằng địa chỉ IP thay vì đi qua DNS không?

Những ưu và nhược điểm của việc truy cập IP trực tiếp có sẵn cho trang web của bạn là gì?

Câu trả lời:


32

Lưu ý rằng trang web được truy cập thông qua một tên miền có thể không được lưu trữ trực tiếp tại thư mục gốc của địa chỉ IP, tức là example.orgcó thể ánh xạ tới 123.45.67.89/~example. Điều này là phổ biến đối với các máy chủ web thông thường vì chúng không thể phân bổ địa chỉ IP trên mỗi trang web - điều đó sẽ vô cùng lãng phí.

Ví dụ, nếu bạn làm một tra cứu DNS của webmasters.stackexchange.com, bạn sẽ nhận được địa chỉ IP 198.252.206.140(ở phía bên phải trên trang web tôi liên kết với). Mặc dù địa chỉ IP đi đến trang StackExchange, nhưng nó không dẫn đến phần quản trị trang web, có thể giống như vậy 198.252.206.140/www/webmasters.

Một cách sử dụng địa chỉ IP (hoặc một cái gì đó giống như 123.45.67.89/~example) là cần một địa chỉ IP tĩnh. Nếu, vì một số lý do, địa chỉ IP phải thay đổi, bạn không có cách nào chuyển hướng người dùng. Trong khi đó với một tên miền, đơn giản chỉ là vấn đề cập nhật các bản ghi DNS để trỏ đến địa chỉ IP mới.

Mặc dù không hoàn toàn liên quan, một địa chỉ IP rõ ràng khác là chúng khó nhớ hơn rất nhiều so với tên và kết thúc.

Theo mặc định, một trang web sẽ có sẵn thông qua tên miền, cũng như theo địa chỉ IP. Các câu trả lời / nhận xét khác nhau cho câu hỏi này cung cấp các quan điểm khác nhau và tôi không muốn sao chép điều đó.

Cá nhân, tôi sẽ không chặn truy cập theo địa chỉ IP, đơn giản vì đó không phải là cách người ta mong đợi internet hoạt động. Ngoài ra, một người dùng thông thường sẽ không bao giờ tìm thấy ngẫu nhiên địa chỉ IP của trang web của bạn và anh ta chắc chắn sẽ không bắt đầu chia sẻ liên kết đến trang web của bạn với địa chỉ IP. Vì vậy, bất kỳ nỗ lực nào cho SEO và bảo mật chắc chắn được chi tiêu tốt hơn ở nơi khác.


6
Tôi không nghĩ hai đoạn cuối của bạn trả lời câu hỏi. Trong sự hiểu biết của tôi về câu hỏi, OP là không hỏi xem nó là ok để cung cấp một trang web chỉ qua một địa chỉ IP chứ không phải là một tên miền, nhưng cho dù có bất kỳ lý do để cố tình ngăn chặn người dùng từ bao giờ truy cập vào trang web thông qua địa chỉ IP .
HOẶC Mapper

2
Một điều chỉnh nhỏ: về bản thân, việc tra cứu whois sẽ chỉ hiển thị cho bạn trạng thái đăng ký và thông tin liên hệ của một tên miền. Địa chỉ IP được xác định bởi tra cứu bản ghi DNS. Who.is là một dịch vụ chỉ xảy ra để hiển thị cho bạn cả khi tìm kiếm một tên miền. Ngoài ra, bạn sẽ chỉ tìm thấy thông tin whois cho stackexchange.com, và không webmasters.stackexchange.com. gwhois.org/webmasters.stackexchange.com+dns
iglvzx

@ORMapper và iglvzx : Cảm ơn cả hai rất nhiều! Tôi đã cập nhật câu trả lời của mình để sửa nhận xét của bạn, cố gắng sao chép càng ít càng tốt từ các câu trả lời khác, rất thú vị để đọc.
ljacqu

1
youtube cũng vậy - nếu bạn ping youtube và nhận địa chỉ IP 173.194.41.161, cuối cùng bạn sẽ nhận được trang chủ của Google.
Wilf

1
Một vấn đề khác có thể là SSL nếu bạn thực thi nó (mà bạn thực sự nên làm).
Léo Lam

9

Phiên bản gốc của HTTP không bao gồm bất kỳ cơ chế nào để máy khách chỉ định tên máy chủ là một phần của yêu cầu. Nó được kết nối với máy chủ và chỉ gửi phần đường dẫn của URL. Một trong những sửa đổi ban đầu của giao thức HTTP là thêm khả năng cho máy khách gửi thông tin "tiêu đề" khác, bao gồm cả tên máy chủ.

20 năm trước hỗ trợ trình duyệt cho các máy chủ ảo là rất nhiều. Trước đó, sẽ có một lý do hợp lệ để phục vụ nội dung từ chỉ địa chỉ IP. Một tỷ lệ nhỏ khách hàng sẽ không gửi tiêu đề máy chủ. Tên máy chủ hiện là một tiêu đề tiêu chuẩn được gửi bởi mọi trình duyệt và trình thu thập dữ liệu web.

Trên thực tế, tôi thấy rằng các yêu cầu tìm kiếm nội dung trên địa chỉ IP có thể không được thỏa mãn nếu máy chủ của tôi phản hồi với trang web của tôi. Tôi có xu hướng chỉ xem các yêu cầu IP đó là:

  • Đối với một trang web đã từng ở trên địa chỉ IP đó
  • Nỗ lực truy cập bằng phần mềm độc hại

Bây giờ tôi thích phục vụ lỗi 404 chỉ cho các yêu cầu địa chỉ IP hơn là phục vụ trang web của tôi hoặc chuyển hướng đến trang web của tôi. Các máy chủ của tôi cũng được định cấu hình để phục vụ các trang 404 cho các tên máy chủ không được nhận dạng như được giải thích trong câu trả lời cho Cách xử lý các chuyển hướng tên miền độc hại?


Thỉnh thoảng tôi thử truy cập các trang web thông qua địa chỉ IP của họ; bất cứ khi nào tôi nghi ngờ điều gì đó tanh cá có thể xảy ra với DNS của tôi. Trong những tình huống đó, tôi cố gắng tìm ra địa chỉ IP cho trang web và mở trang web thông qua đó. Nếu trang web tôi mong đợi từ tên miền bình thường chỉ tải tốt qua IP của nó, tôi biết tôi phải sửa một cái gì đó về DNS của mình, nhưng nếu tôi nhận được thông báo lỗi, tôi sẽ luôn cho rằng có gì đó bị hỏng trên máy chủ của trang web và Tôi chỉ cần đợi cho đến khi nó được sửa chữa.
HOẶC Mapper

Vì vậy, nhiều trang web sử dụng lưu trữ được chia sẻ những ngày này mà hy vọng có thể truy cập chúng mà không có tên máy chủ là không thực tế. Trang web StackExchange này không có sẵn chỉ với địa chỉ IP. Có rất nhiều trang web tên miền phụ StackExchange chia sẻ nó. StackExchange hiển thị trang 404 tùy chỉnh nếu bạn thử chỉ với địa chỉ IP.
Stephen Ostermiller

7

Đặc biệt nếu bạn có một máy chủ lưu trữ được chia sẻ hoặc một máy chủ lưu trữ nhiều tên miền của riêng bạn, bạn không thể truy cập "trang web" qua IP. Đối với máy chủ của riêng bạn, bạn có thể xác định tên miền chính đạt được nếu bạn nhập IP. Đối với các máy chủ được chia sẻ đó là không thể.

Như @Ijacqu đã đề cập, IP có thể dễ dàng thay đổi.

Một điều nữa là nội dung trùng lặp, vì vậy về cơ bản, không có cách nào tốt để làm như vậy.

Nếu bạn muốn có một trang web để truy cập thông qua IP máy chủ của nó, bạn chắc chắn nên thêm một chuyển tiếp 301 hoặc 302 vào chính tên miền.

Đối với một máy chủ tôi quản lý tôi đã thêm một trang web HTML nhỏ, chỉ cần lặp lại "Chào mừng bạn đến 123.456.789.123" làm trang web mặc định, vì một số dự án khách hàng đã được lưu trữ trên máy đó và tôi chỉ cần một giải pháp nhãn trắng cho trang web mặc định. Tôi cấu hình bằng cách sử dụng vache apache.


3

Từ quan điểm SEO đó là một thảm họa.

Nếu bạn có một trang web ví dụ stackexchange.com và nó cũng có thể truy cập được từ địa chỉ IP, điều này sẽ dẫn đến nội dung trùng lặp.

Điều này sẽ phá hủy thứ hạng của bạn và sẽ gây nhầm lẫn cho người dùng của bạn, họ sẽ tìm kiếm Google và tìm thấy 2 kết quả cho cùng một chủ đề (một truy cập theo tên miền và một truy cập bằng địa chỉ IP)

Không bao giờ làm cho một tên miền có thể truy cập từ địa chỉ IP.

Nếu bạn có một tên miền được lưu trữ trên một máy chủ, cách tiếp cận tốt nhất là 301 redirecttruy cập địa chỉ IP trực tiếp vào tên miền đó.

Nếu bạn có nhiều tên miền trên một máy chủ, hãy vô hiệu hóa quyền truy cập địa chỉ IP trực tiếp.


4
Tôi đã ở đây kể từ ARPA-NET. Tuyên bố này chỉ đơn giản là không đúng sự thật. Ban đầu, không có lưu trữ ảo và tất cả các trang web đều có thể truy cập thông qua tên miền VÀ địa chỉ IP. Điều này vẫn còn cực kỳ phổ biến ngày nay. Các công cụ tìm kiếm đủ thông minh để biết tên miền nào được phục vụ bởi địa chỉ IP nào và KHÔNG được coi đây là nội dung trùng lặp nhưng cùng một trang web.
Closnoc

Bởi trang web đã bị hủy, sau khi cập nhật nginx mà tôi không sửa máy chủ mặc định. Phải mất 6 tháng để 301 tất cả 10.000.000 liên kết được thu thập thông tin trong truy cập địa chỉ IP trực tiếp :(
krokola

Và nếu bạn nghĩ rằng không có vấn đề SEO (nhưng tôi hoàn toàn không đồng ý với bạn), thì có một vấn đề rất lớn với lượt truy cập. Bots sẽ thực hiện hai lần truy cập để thu thập thông tin cùng một nội dung. Nếu trang web của bạn nhận được 2.000.000 lượt truy cập bot mỗi ngày và bạn cho phép truy cập địa chỉ IP trực tiếp, bot sẽ tạo ra 4.000.000 sẽ hoàn toàn không có lợi cho bạn.
krokola

1
Đối với SEO, có thể thêm một <link rel="canonical" href="http://example.com" />để tránh trùng lặp nội dung.
Câu hỏi tràn

2
Câu trả lời này chắc chắn không đúng. Nhiều trang web có thể truy cập trên địa chỉ IP của họ, nó không gây đau đầu cho các công cụ tìm kiếm, nó sẽ không giết chết "SEO" của bạn. Nội dung trùng lặp là một vấn đề kỹ thuật đã xuất hiện từ khi bắt đầu web, các công cụ tìm kiếm có nhiều cách khác nhau để xử lý nó. Nó không phải là kết thúc của thế giới. Điều đó nói rằng, nếu bạn có một sở thích liên quan đến việc lập chỉ mục, thêm một rel = canonical là một cách tuyệt vời để hướng dẫn các công cụ tìm kiếm theo hướng đó.
John Mueller

2

Chỉ 2 xu của tôi, tôi có một vài trang web trên máy chủ web của mình (khoảng 8) và tất cả chúng đều có cùng một địa chỉ IP. Với việc sử dụng Tiêu đề máy chủ, FQDN giúp máy chủ web (trong trường hợp của tôi là Apache) hướng yêu cầu đến thư mục chính xác cho trang web đang đề cập. Địa chỉ IP được chuyển đến Trang web của công ty tôi theo mặc định. Tôi đã tìm thấy từ khoảng năm 2001, đây là tiêu chuẩn cho hầu hết các nhà cung cấp dịch vụ lưu trữ web, đặc biệt là xem xét trạng thái hiện tại của các địa chỉ IPv4. Chỉ là một số nền tảng, tôi đã làm việc cho Voyager.net (ở Michigan) trong khoảng 8 năm và Voyager là một công ty lưu trữ và ISP lưu trữ hơn 80.000 tên miền và tôi không biết chúng tôi đã lưu trữ bao nhiêu trang web. Trong một lưu ý phụ, FQDN theo định nghĩa được sử dụng để cung cấp địa chỉ có thể đọc được của con người cho địa chỉ IP để chúng ta có thể nhớ chúng dễ dàng hơn. Lại chỉ 2cents của tôi.


1

Từ góc độ bảo mật, đó là một bước đi thông minh.

Hầu hết các trang web có lưu lượng truy cập lớn sẽ có CDN được sử dụng ở đâu đó. Vì vậy, bất kỳ cuộc tấn công DOS hoặc DDOS nào đã cố gắng sẽ tiêu tan thông qua các máy chủ CDN và sẽ không đến được trang web của người dùng.

Tuy nhiên, nếu người dùng biết địa chỉ IP của trang web, họ có thể trực tiếp thực hiện một cuộc tấn công vào IP và hạ gục máy chủ ngay lập tức. Đó là lý do tại sao hầu hết các CDN sẽ cung cấp cho bạn các tùy chọn để ẩn địa chỉ IP của máy chủ của bạn. Vì vậy, đưa 404 cho ai đó đang cố gắng truy cập trang web là một động thái tốt. Nó có thể bị khô héo được thực hiện bởi một tệp .htaccess hoặc bằng cách lưu trữ trang web tại một nơi không phải là tài liệu gốc của máy chủ mặc định.


-1

Điều mọi người quên về lưu trữ IP được chia sẻ là nó giống như 1000 chiếc xe có cùng số giấy phép. Nếu một người đang làm điều gì đó độc hại thì lưu lượng truy cập sẽ hiển thị tại máy chủ đích như từ IP. Nó bị chặn và mọi người khác cũng sử dụng nó. Bất kỳ trang web nào bạn quan tâm nên có IP riêng. Bất kỳ thư bạn gửi phải đến từ IP của bạn không phải là một chia sẻ. Tôi giải quyết không có gì ít hơn và tôi đã ở đây từ năm 1994.


Điều này không trả lời câu hỏi. Câu hỏi đặt ra là liệu địa chỉ IP có thể truy cập được hay không, không phải là một trang web có được lưu trữ chia sẻ hay không. Ngay cả khi bạn có địa chỉ IP của riêng mình, bạn có thể hoặc không muốn cung cấp trang web của mình bằng cách nhập địa chỉ IP. Bạn cũng có thể muốn lưu trữ một số trang web của riêng mình trên một địa chỉ IP đó.
Stephen Ostermiller
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.