Làm cách nào để thiết lập tên miền .local trên Linx?


0

Tôi có nhiều máy chủ ảo nginx tất cả đều trỏ đến localhost. Ngay bây giờ họ có cùng tên cổng khác nhau localhost:8080, localhost:8081. Thay vào đó tôi muốn họ có cùng tên cổng khác nhau site1:8080, site2:8080.

Tuy nhiên, điều này đòi hỏi tôi phải thêm các mục mới /etc/hosts/cho mỗi trang web:

127.0.0.1 site1 site2 site3 site4

Thay vào đó, có cách nào để tạo một .localtên miền sao cho mọi thứ được nhập kết thúc bằng đó sẽ được giải quyết thành localhost không? Bằng cách này, tôi có thể làm site1.local:8080, site2.local:8080và không cần phải cập nhật / etc / hosts mỗi lần. Cái gì đó như

127.0.0.1 .local

Thật không may, nó dường như không hoạt động.

Một số cách tôi có thể làm cho nó hoạt động mà không cần phải thiết lập một cái gì đó như thế dnsmasqnào?

Tôi đã nghe nói về http://readme.localtest.me/ cho phép thực hiện site1.localtest.me:8080nhưng tôi làm rất nhiều việc mà không có kết nối internet nên tôi lý tưởng sử dụng một cái gì đó không yêu cầu trực tuyến để giải quyết tới 127.0.0.1 .

Bất cứ điều gì tôi có thể làm với /etc/hosts, /etc/resolv.confhoặc một cái gì khác có thể hoạt động để thiết lập một tên miền .local?


Mỗi lần chỉ có một quy trình có thể liên kết với một cổng, vì vậy bạn sẽ cần chạy máy chủ proxy để chuyển hướng các yêu cầu từ các miền khác nhau đến các cổng cần thiết.
Zaz

@Josh: Không cần thiết. Quá trình dịch vụ HTTP giống nhau có thể dễ dàng phục vụ nhiều tên miền khác nhau trên cùng một địa chỉ.
grawity

Rất tiếc, phải đọc sai câu hỏi. Tôi nhận ra rằng có nhiều máy chủ thử nghiệm đang chạy như các quy trình riêng biệt
Zaz

Câu trả lời:


1

Bạn không thể sử dụng ký tự đại diện trong /etc/hosts. Không có cách nào để làm điều này mà không có máy chủ DNS.

Bạn có hai tùy chọn: 1) Đặt mọi máy chủ tùy chỉnh mà bạn cần vào /etc/hosts(bạn có thể tự động hóa nó với tập lệnh shell tùy chỉnh)

2) Chỉ cần sử dụng DNS cục bộ tùy chỉnh cho tác vụ này. Tôi muốn giới thiệu dnsmasq .

Bạn chỉ cần sử dụng --address=/local/127.0.0.1tham số trong dnsmasq, trong đó "local" là tên miền của bạn.


Tôi đang cố gắng gợi ý dnsmasq của bạn, nhưng đã không thể để làm cho nó làm việc bạn sẽ phiền tham gia một cái nhìn tại các câu hỏi tôi vừa mới công bố superuser.com/questions/785746/... ?
dùng779159
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.