Làm cách nào để chuyển hướng một tên miền sang tên miền khác tại địa phương?


26

Tệp / etc / hosts của tôi trông như thế này:

127.0.0.1       localhost
10.20.7.67      testsitealpha.dev
othersite.dev   testsitebeta.dev

Hai công việc đầu tiên. Người cuối cùng thì không. Tại sao không? Làm thế nào để tôi làm cho nó hoạt động? Lý do tôi làm điều này là vì tôi có một máy chủ thử nghiệm (otherite.com), trên mạng cục bộ, nhưng ip của nó có thể thay đổi. ví dụ: 10,20,7,98 một ngày, 10,20,7,35 khác, v.v.

Vì vậy, làm cách nào để làm cho hệ thống của tôi luôn phân giải testsitebeta.dev thành cùng một ip với những người khác?

Câu trả lời:


11

Như Chris đã viết, vấn đề là "otherite.dev" không phải là một con số. Định dạng bạn cần là IP hostname1 [hostname2] [hostname3].

Tuy nhiên, vấn đề sâu xa hơn là sự hiểu lầm về tệp máy chủ và có thể về DNS nói chung. Về cơ bản, tập tin máy chủ không được thiết kế để chuyển hướng. Đó là một giải pháp đơn giản trở lại từ khi CPU chu kỳ đắt tiền. Nó thiếu các tính năng như khả năng điều chỉnh để thay đổi nhanh chóng các địa chỉ IP mà không cần chỉnh sửa thủ công một tệp. Những vấn đề này đã được giải quyết bằng cách chuyển từ tệp máy chủ sang hệ thống phân giải dựa trên mạng.

Do đó, câu trả lời thực sự cho vấn đề của bạn không phải là sử dụng /etc/hosts, mà là sử dụng hệ thống đặt tên phân tán phân cấp này để thay thế. Bạn có thể làm điều đó theo nhiều cách. Một cách là CNAME theo đề xuất của Chris. Một cách khác là cung cấp cho máy chủ thứ hai một địa chỉ IP cố định. Cả một địa chỉ tĩnh thực sự, hoặc đặt chỗ trong máy chủ DHCP.


1
Không phải là loại câu trả lời tôi đang tìm kiếm. Đây là để phát triển; Tôi không muốn sửa đổi bất kỳ máy nào khác, vì tên miền (testsitebeta.dev) không cần phải truy cập từ bất cứ đâu ngoài địa phương của tôi. Tôi chỉ muốn một cách để nói với máy tính của tôi "đối xử với tên X giống như Y".
Benubird

3
Trong trường hợp đó, bạn muốn kết nối một máy chủ DNS cục bộ và sử dụng nó làm trình phân giải.
Hennes

4
Máy chủ DNS cục bộ dường như là giải pháp. Đối với khách truy cập trong tương lai, tôi thấy điều này hữu ích: superuser.com/q/45789/75287
Benubird

@Benubird: Tôi cũng đang tìm kiếm giải pháp tương tự. Nhưng không thể có được nó. Bạn có thể giải thích thêm một chút về cách bạn thiết lập?
Jay Chakra

3

Định dạng của / etc / hosts là "IP" "Tên máy chủ" - như 127.0.0.1 localhost

Bạn cần một CNAMEmáy chủ DNS cục bộ để đạt được những gì bạn cần. Bạn có thể lấy IP của "otherite.dev" và liên kết nó với "testitbeta.dev" giống như bạn đã làm với "testitalpha.dev" nhưng khi IP đó thay đổi, bạn cũng sẽ phải thay đổi /etc/hoststệp của mình .


1

Nếu otherite.com có ​​IP động, nhưng luôn có thể truy cập theo tên, bạn phải dựa vào DNS đã đăng ký của nó bằng cách luôn tham chiếu nó theo tên.

Giải pháp của bạn là biến testsitebeta.dev thành một URL chuyển hướng cho những người khác.com.

Tên máy chủ testsitebeta.dev Chuyển hướng / http://othersite.com

Bằng cách này, otherite.com luôn hoạt động (không phá vỡ nó với mục nhập máy chủ xấu) và testsitebeta.dev luôn được chuyển hướng đến otherite.com bằng cách phân giải tên thành đúng IP.

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.