Nhiều trang web host cùng một IP và làm thế nào để nhận đúng trang

Cho em hỏi, khi em vào cmd gõ lệnh ping google.com, nó sẽ ra địa chỉ


Em nhập vào thanh address bar cái địa chỉ đó và nó trỏ tới trang google.com. Đến đây thì em cứ tưởng địa chỉ 216.58.203.46 là địa chỉ public của google !
Sau đó em thử ping tới trang tuoitre.vn và làm tương tự thì không vào được trang tuoitre.vn

Vậy cho em hỏi là em hiểu sai chỗ nào ạ? Và địa chỉ tô sáng đó là địa chỉ gì ạ?

1 Like

Hi Hoàng Huy.
Cái đó là địa chỉ máy chủ ứng với tên miền.

Về phía người dùng: có 2 cách để trỏ domain là dùng IP hoặc DNS. Nếu bạn có domain thì xem nơi bạn mua domain đó hỗ trợ dùng IP hoặc DNS. Còn lại không cần quan tâm.

Ngoài ra, lệnh ping chưa chắc đã trả về IP của website đó, và nếu có trả về đúng IP thì có rất nhiều cách để chặn truy cập trực tiếp từ IP.

Có vài cách để làm như vậy. Mình thấy cách dễ nhất trên máy chủ Linux VPS đó là người ta sử dụng đến Virtual Host. Khi truy cập vào, web server được cấu hình trước, nó sẽ “nhìn vào” domain để biết mà lôi cái VirtualHost nào lên phục vụ.

Trên Windows Server chắc cũng vậy, ngày trước là IIS có cấu hình vụ này, giờ mình không rõ người ta có còn dùng IIS nữa hay không.

1 Like

Từ client: https://makandracards.com/makandra/1613-make-an-http-request-to-a-machine-but-fake-the-hostname

Mục 5.4, RFC7230.

The “Host” header field in a request provides the host and port
information from the target URI, enabling the origin server to
distinguish among resources while servicing requests for multiple
host names on a single IP address.

Tức là client phải gửi trước domain trong request theo giao thức HTTP rồi.

bạn tìm hiểu thêm về HTTP port của cái webserver đi

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?