Trong mạng LAN của chúng tôi, tôi có một số dịch vụ đang chạy trên nhiều máy chủ và các máy khách sử dụng DHCP với dnsmasq.

Mục tiêu của tôi là bất kỳ người dùng nào cũng có thể nhập một ký tự (ví dụ c) vào thanh tìm kiếm của trình duyệt và nhận lại phản hồi HTTP của máy chủ HTTP cục bộ tại địa chỉ 192.168.2.120.

Những gì tôi đã làm cho đến nay:

dnsmasq.conf tệp trong máy chủ DHCP LAN:

# (c.com is an example)
# The idea of the below is that clients will append c.com to DNS lookups when they look up for "c"
dhcp-option=option:domain-name,c.com
dhcp-option=option:domain-search,c.com

/etc/hosts trong máy chủ DHCP:

192.168.2.120 c.c.com c.com

Những gì đang hoạt động:

  • Tôi đã xác nhận tcpdumprằng khách hàng nhận được các tùy chọn trong phản hồi DHCP.
  • curl c, curl c.c.comcurl c.comtất cả đều hoạt động tốt. Tất cả chúng đều trỏ đến 192.168.2.120 và nhận được lưu lượng HTTP mong đợi.

Tuy nhiên, nhập "c" vào thanh trình duyệt sẽ kích hoạt tìm kiếm trên Google (được thử nghiệm trên Firefox / Edge / Chrome). Nó chỉ hoạt động nếu tôi nhập "http: // c".

Tôi còn thiếu điều gì nữa để các trình duyệt internet có thể hoạt động như vậy curlvà không kích hoạt tìm kiếm? Tôi biết điều đó là có thể vì tôi đã thấy nó được triển khai ở một số nơi làm việc. Tôi đang thiếu một số phần của câu đố.

answer

@AlexD bình luận đã chỉ cho tôi giải pháp đúng. Sử dụng "c /" (nghĩa là thêm vào một dấu gạch chéo) sẽ kích hoạt hành vi mong đợi.