Cách thiết lập dịch vụ Google ShortName cho tên miền của tôi, để FQDN không cần thiết


13

Bài đăng trên blog " Dịch vụ 'tinyurl' cho tên miền của bạn " giải thích cách thiết lập dịch vụ ShortName cho tên miền của bạn bằng Google Apps. Ví dụ: nếu tên miền của bạn example.comvà bạn sử dụng Google Apps, bạn có thể định cấu hình tên miền đó là http://go.example.comdịch vụ ShortName cá nhân của doanh nghiệp bạn.

LƯU Ý: Đây không phải là về việc tạo ra một dịch vụ "tinyurl" cho thế giới sử dụng. Điều này là cho một doanh nghiệp.

Thật hữu ích khi có một dịch vụ tên ngắn mà chỉ người dùng của bạn mới có thể sử dụng để bạn có thể tạo liên kết đến các trang nội bộ. Thay vì nói với mọi người một URL dài khó khăn, bạn có thể nói, "Thực đơn bữa trưa hôm nay là tại http://go.example.com/lunch ". Blog đăng tài liệu một số lợi ích của việc trao quyền cho mọi người để thiết lập liên kết của riêng họ. (Quan trọng nhất: họ không phải làm phiền BẠN để thiết lập một liên kết mới!)

Vấn đề

Vấn đề với hệ thống là URL vẫn còn khá dài. Mọi người thà gõ "go / lunch" vào trình duyệt web của họ và để nó hoạt động. Đáng buồn thay, Google Apps không thể hỗ trợ điều này vì tính kỹ thuật về cách thức hoạt động của giao thức HTTP. Tiêu đề "Máy chủ:" trong HTTP 1.1 liệt kê tên miền mà người dùng đã nhập vào trình duyệt web của họ, không phải FQDN . Nói cách khác, khi Google Apps nhận được yêu cầu HTTP cho " http: // go / lunch ", máy chủ web sẽ nhận được "go" làm tên máy chủ. Vì Google Apps đang cung cấp dịch vụ này cho nhiều tên miền, nên không thể biết bạn muốn go.example.comhay go.some-other-example.com.

Do đó, người dùng phải nhập "go.example.com/lunch" mỗi lần, dài hơn nhiều so với "đi / ăn trưa".

Giải pháp

Google có thể giải quyết điều này bằng cách sử dụng cookie web hoặc một số chương trình khác. Không ai trong số đó là đặc biệt sạch sẽ hoặc dễ dàng. Cho đến khi họ làm bạn có thể giải quyết vấn đề bằng cách thiết lập một cỗ máy của riêng bạn chấp nhận các yêu cầu là "đi" và chuyển hướng chúng.

Máy chủ chấp nhận các yêu cầu HTTP cho một trang web gọi là "go" và chuyển hướng yêu cầu đến go.example.com. Sau đó, bạn tạo các bản ghi DNS phù hợp để nó hoạt động và xoay vòng các cấu hình DHCP của bạn để máy tính xách tay / máy trạm của bạn làm đúng.

Điểm quan trọng của tài liệu Server Fault này là giải thích quy trình sau đó đưa ra các ví dụ cấu hình để giúp bạn làm điều này cho trang web của mình. Vì tôi không có quyền truy cập hoặc kiến ​​thức về mọi hệ điều hành trên thế giới, nên tôi biến đây thành một "wiki cộng đồng" để mọi người có thể điền vào các đoạn cấu hình khi họ làm cho nó hoạt động. Tôi đã đặt 'TODO' trong khu vực đặc biệt cần cải thiện.

Chi tiết

Trong ví dụ này, chúng tôi sẽ sử dụng "example.com" làm tên miền.

Bước 1: Thiết lập dịch vụ Google Apps theo cách thông thường.

Cấu hình dịch vụ go.example.comnhư bình thường. Kiểm tra nó và đảm bảo một URL như http://go.example.com/foohoạt động. Đừng tiếp tục nếu điều này không hoàn thành. Điều đó sẽ giống như cố gắng sửa chữa chiếc xe của bạn trước khi bạn sở hữu một chiếc.

Bước 2: Chọn tên máy chủ chuyển hướng của bạn

Nếu dịch vụ tên ngắn của bạn là go.example.com, lý tưởng nhất là bạn tạo tên của người chuyển hướng của bạn go.example.com. Đáng buồn thay, vật lý ngăn hai cơ thể ở cùng một vị trí cùng một lúc và DNS tuân theo các định luật vật lý.

Mẹo nhỏ là để bộ chuyển hướng có cùng tên máy chủ với dịch vụ ShortName, nhưng trong một miền khác. Ví dụ, go.corp.example.com, go.ext.google.com, hoặc go.this-is-different.example.com.

Các công ty lớn thường có một tên miền phụ nội bộ không được tiếp xúc với thế giới bên ngoài. Thông thường máy chủ nội bộ là INSIDEHOST.corp.google.com. Đó là nơi bạn đặt bộ chuyển hướng.

Một số công ty phân bổ một tên miền phụ chứa đầy CNAME trỏ đến các dịch vụ nên được truy cập từ cả bên trong và bên ngoài công ty. Theo cách đó, có một tên miền phụ cần được đặt trong đường dẫn tìm kiếm DNS của mọi người. (Người Unix có thể nghĩ về điều này như /usr/local/binlà một thư mục con chứa đầy các liên kết tượng trưng) Theo truyền thống, tên miền phụ này là ext.example.com. Trong subdomain mà CNAME như mail.ext.example.com, calendar.ext.example.com, vpn.ext.example.com, và vân vân.)

Cảnh báo: Thêm một mục khác vào đường dẫn tìm kiếm DNS của bạn là một cách khác để làm cho máy tính của bạn chạy chậm hơn. Thực hiện một truy vấn DNS bổ sung MERYI LẦN chậm và lướt web sẽ chậm hơn đáng kể. Sẽ tốt hơn nhiều khi thêm trình chuyển hướng này vào một tên miền phụ đã có trong đường dẫn tìm kiếm DNS của máy của bạn, ngay cả khi điều này có nghĩa là thêm một CNAME trong nhiều tên miền phụ. Ví dụ: nếu các máy nội bộ và máy được kết nối với VPN của bạn đã có corp.example.comtrong đường dẫn tìm kiếm của chúng, hãy thêm CNAME vào đó. Nếu bạn muốn các máy bên ngoài không được VPN có thể truy cập vào bộ chuyển hướng, thì có thể lạ khi mã cứng corp.example.comvào đường dẫn tìm kiếm của chúng nếu đó là tên miền phụ cho các máy không bao giờ được truy cập từ bên ngoài. Trong trường hợp đó, một CNAME khác có thể được thêm vào một tên miền phụ bên ngoài (nhưext.example.com) để chỉ đến bộ chuyển hướng. Cập nhật cấu hình máy chủ web để hỗ trợ cả hai.

Trong ví dụ này, giả sử bạn đã chọn rằng bộ chuyển hướng sẽ là go.ext.example.com. Máy có thể được gọi là bất cứ thứ gì bạn muốn, chúng tôi sẽ thực hiện mọi điều kỳ diệu trong DNS và cấu hình máy chủ web.

Bước 3: Lập kế hoạch cho chuyển hướng của bạn

Máy chủ web bạn sắp thiết lập có thể nằm trên một máy chủ web hiện có hoặc một máy chủ mới được xây dựng chỉ cho mục đích này. Điều quan trọng là máy phải có thể truy cập từ bất cứ nơi nào bạn muốn dịch vụ ShortName hoạt động: bên trong công ty, bên ngoài công ty, khi người dùng được kết nối qua VPN. (Bạn có thể chọn từ bỏ việc này hoạt động từ bên ngoài công ty vì lý do bảo mật. Bạn cũng có thể, vì lý do bảo mật, thiết lập một máy ở bên trong và một máy khác ở bên ngoài.)

Lưu ý: Bạn không phải thiết lập máy chủ web mới cho việc này. Bạn có thể thêm nó vào một máy chủ web có sẵn miễn là cấu hình không tồn tại.

Lưu ý: Điều này có thể khá phức tạp. Bạn có thể muốn tập trung vào việc làm việc này trong trường hợp đơn giản nhất, sau đó một khi làm việc và thử nghiệm, hãy làm cho nó hoạt động cho các tình huống khác. Cụ thể, làm cho nó hoạt động theo thứ tự này: 1. máy trạm / máy tính xách tay bên trong công ty 2. THEN máy được kết nối bằng VPN, sau đó máy bên ngoài công ty (ví dụ: tại một quán cà phê Internet). 3. THEN máy bên ngoài mạng, không có VPN lên 4. THEN kiểm tra điều này cho các hệ điều hành khác

Trong ví dụ này, chúng tôi sẽ cho rằng có một máy chủ web có thể truy cập tại cùng một địa chỉ IP cho dù bạn ở trong hay ngoài công ty.

Trong ví dụ "go. Corp .example.com" của chúng tôi , điều này có nghĩa là "go" nằm trong một tên miền phụ chỉ có thể truy cập được đối với người trong cuộc và yêu cầu VPN sử dụng dịch vụ ShortName. Vì Google Apps thường được định cấu hình để hoạt động mà không cần VPN (vì tất cả quyền truy cập là HTTPS), nên điều này là tối ưu.

Trong "đi. Chúng tôi ext : example.com" Ví dụ, phương tiện này các tên miền phụ có thể truy cập từ cả bên trong và bên ngoài công ty, và các Ađiểm ghi vào một địa chỉ IP bên ngoài.

Bước 4: Thêm bản ghi DNS cho trình chuyển hướng của bạn

Dưới đây là các bản ghi DNS cần thiết:

go.example.com.                IN CNAME ghs.google.com.
go.ext.example.com.            IN A 64.32.179.5
go-redirector.example.com  IN A 64.32.179.5

Bản ghi DNS đầu tiên (go.example.com) phải tồn tại như một phần của Bước 1.

Bản ghi DNS thứ hai (đi. Ext example.com) là một Atrỏ kỷ lục tại địa chỉ IP của máy chủ web mới bạn đang cấu hình.

Bản ghi DNS thứ ba (go-redirector) là để giúp bạn khi gỡ lỗi.

Bước 5: Cấu hình máy chủ web

Thêm chuyển hướng đến máy chủ web. (Điều này giả sử máy chủ web đã được cài đặt và đang chạy).

Đây là đoạn cấu hình Apache:

<VirtualHost *:80>
        ServerName go-redirector.example.com
        ServerAlias go, go.ext, go.ext.example
        RewriteEngine on
        RewriteRule ^(.*)$ http://go.example.com$1 [R=permanent]
</VirtualHost>

Làm thế nào để kiểm tra điều này. http://go-redirector.example.comnên làm việc vào thời điểm này

Không tiến hành cho đến khi thử nghiệm này hoạt động. Bước chân em bé.

Bước 6: Định cấu hình đường dẫn tìm kiếm DNS của khách hàng

Bây giờ chúng tôi sẽ định cấu hình máy (mọi thứ chạy trình duyệt web) để đường dẫn tìm kiếm DNS bao gồm "ext.example.com"

Trên máy chủ DHCP và máy chủ VPN của bạn gửi đường dẫn tìm kiếm DNS:

corp.example.com.

(tên miền phụ với máy chủ chuyển hướng, theo sau là ".")

Ngoài ra, bạn có thể sử dụng đường dẫn tìm kiếm như:

corp.example.com example.com.

Tuy nhiên, điều đó sẽ thêm một tra cứu DNS bổ sung cho MỌI trang web mà chúng tôi truy cập. Vì họ sẽ thất bại 99% thời gian, điều đó sẽ khiến việc lướt web chậm lại.

Trên máy trạm và máy tính xách tay, bạn cần đảm bảo rằng tên miền phụ được bao gồm trong đường dẫn tìm kiếm DNS của chúng. Theo cách đó, khi người dùng gõ "go", phần mềm sẽ tìm thấy nó trong miền.

Chúng tôi muốn định cấu hình đường dẫn tìm kiếm của máy để bao gồm tên miền phụ này theo mọi cách mà đường dẫn tìm kiếm có thể được đặt:

Ban đầu, đường dẫn tìm kiếm DNS không thể được đặt qua DHCP. Đây là một tính năng mới được thêm vào và không phải tất cả các máy khách DHCP đều hỗ trợ nó. Ngay cả các máy khách DHCP hỗ trợ cũng cần phải sửa đổi vì khi máy tính xách tay ở (ví dụ) một quán cà phê Internet, nó đang nói chuyện với máy chủ DHCP mà bạn không kiểm soát. Khi máy tính xách tay sử dụng VPN, phần mềm máy khách VPN không thực sự sử dụng DHCP nhưng thường có một số cách mà máy chủ VPN truyền các cài đặt mà người ta thường nhận được từ máy chủ DHCP.

Do đó, bạn muốn đặt đường dẫn tìm kiếm DNS ở tất cả các vị trí sau:

  • Máy chủ DHCP sẽ gửi các tùy chọn đường dẫn tìm kiếm DNS
  • Các máy được cấu hình tĩnh phải được đặt đường dẫn tìm kiếm DNS
  • Các máy khách sử dụng DHCP phải được cấu hình để đặt trước corp.example.comtên miền vào đường dẫn tìm kiếm của chúng nếu máy chủ DHCP chưa bao gồm tên miền đó.

Dưới đây là hướng dẫn về cách thực hiện việc này trên các máy chủ DHCP và hệ điều hành khác nhau.

Định cấu hình máy chủ DHCP để bao gồm Đường dẫn tìm kiếm DNS:

  1. Hướng dẫn Windows DHCP

LÀM

  1. Hướng dẫn DHCP ISC

Nếu đường dẫn tìm kiếm chỉ là miền mà máy nên ở, thì:

option domain-name "corp.example.com";

Nếu các máy khách hỗ trợ RFC 3397 để cung cấp đường dẫn tìm kiếm, thì bạn có thể làm điều này, nhưng thật bất tiện vì không có hỗ trợ riêng cho loại dữ liệu là một chuỗi các máy chủ DNS, mỗi loại được mã hóa dưới dạng nhãn có tiền tố dài như trong DNS. Không có cách nào để viết các giá trị của một tùy chọn được xác định là một mảng các bản ghi, trong đó bản ghi chứa một mảng của một bản ghi khác, vì vậy bạn sẽ sử dụng chuỗi dữ liệu để mã hóa mọi thứ theo cách thủ công.

option dns-search-domains code 119 = string;
option dns-search-domains concat(
    encode-int(4,1), "corp", encode-int(7,1), "example", encode-int(3,1), "com", encode-int(0,1),
    encode-int(7,1), "example", encode-int(3,1), "com", encode-int(0,1)
    );

mà nên (chưa được kiểm tra) tạo ra một danh sách tìm kiếm hai mục.

  1. hướng dẫn DHCP dnsmasq

LÀM

Cấu hình máy cấu hình tĩnh:

  1. các cửa sổ

LÀM

  1. Linux / Unix

Chỉnh sửa /etc/resolv.confvà đảm bảo (1) "domain corp.example.com" là dòng đầu tiên, (2) thêm / chỉnh sửa dòng "tìm kiếm" để bao gồm corp.example.comtên miền, (3) thêm một dòng "tùy chọn ndote: 2" vào giảm tải cho máy chủ DNS của bạn.

domain corp.example.com
search corp.example.com exmaple.com
options ndots:2

Cấu hình máy khách DHCP hoạt động khi trên các máy chủ DHCP khác

TODO điền vào Windows, Linux, v.v.

Bước 7: Kiểm tra, kiểm tra, kiểm tra!

Bây giờ người dùng sẽ có thể chỉ định:

http: // go / foo http: //go.example/foo http://go.example.com/foo

Trên thực tế, dưới dạng kiểm tra độ tin cậy, bạn sẽ muốn kiểm tra các URL đó trong mọi tình huống:

( each OS you support ) * ( internal LAN / at an Internet cafe / while on the VPN )

Bước 8: Lời khuyên khác

Và cuối cùng, một lời khuyên: Ngay cả khi bạn đã hoàn thành công việc này, bạn vẫn có nguy cơ http://go/fooliên kết không hoạt động khi một người cố gắng nhập nó trên máy tính mà bạn không định cấu hình để buộc tìm kiếm DNS đường dẫn để bao gồm tên miền của bạn. Do đó, bạn nên xuất bản các liên kết bằng URL đầy đủ : http://go.example.com/foo; và dành thời gian để giáo dục bộ phận PR của công ty bạn và những người khác để luôn chỉ định nó theo cách đó.

Hoặc ít nhất là mã hóa chúng trong HTML để "go" hiển thị trong văn bản liên kết, nhưng HREF thực tế đi đến FQDN:

<a href="http://go.example.com/lunch">go/lunch</a>

Dạy những người trong bộ phận PR để làm điều này có thể khó khăn. Bạn có thể chỉ muốn nói với họ rằng họ phải sử dụng phiên bản dài ( go.example.com) trong bất cứ điều gì họ viết vì "đi / ăn trưa" ngắn chỉ hoạt động một cách tình cờ.

Bước 8: HTTPS

TODO: Tìm ra cách thực hiện với HTTPS (các chứng chỉ sẽ rất khó, nếu không nói là không thể, để có được quyền).


2
nếu nó yêu cầu khách hàng kích hoạt đường dẫn tìm kiếm cụ thể của bạn thì nó sẽ không bao giờ bay. Nếu bạn thực sự muốn làm điều này, hãy mua TLD ngắn của riêng bạn - một snip chỉ với $ 280k
Alnitak

1
Tôi nên giải thích rằng đây là dành cho người dùng doanh nghiệp, không phải dịch vụ công cộng.
TomOnTime

6
Xin chào Tom, những gì chúng tôi thường đề xuất cho câu hỏi của bạn là đặt câu hỏi và sau đó đăng giải pháp của bạn dưới dạng câu trả lời. Bằng cách đó, nó có thể được nâng cấp và được đánh dấu là được chấp nhận: serverfault.com/faq (`Cũng hoàn toàn ổn khi hỏi và trả lời câu hỏi của bạn, nhưng giả vờ bạn đang nói về Jeopardy: diễn đạt nó dưới dạng câu hỏi. ')
Mark Henderson

1
Và ... Tom bây giờ được giới thiệu với "đó không phải là một câu hỏi, nó không thuộc về meme của serverfault." Chào mừng bạn đến với watercooler. Bài viết tuyệt vời Tom. +1.
Joseph Kern

2
@TomOnTime có lẽ bạn có thể chia "vấn đề" và "giải pháp" trong một câu hỏi và câu trả lời. Điều đó sẽ làm cho tất cả mọi người hạnh phúc! Cảm ơn bạn!
splattne

Câu trả lời:


3

Câu hỏi này nên được đánh dấu là "trả lời" bằng cách này hay cách khác. Theo cách này, URL /server//unanswered sẽ vẫn chính xác. Vui lòng (đăng và) chấp nhận "câu trả lời" cho câu hỏi này. Cảm ơn!

"Câu trả lời" của tôi sẽ là việc xây dựng (hoặc cài đặt) một dịch vụ rút gọn liên kết rất dễ dàng và thay vì nhảy qua tất cả các vòng trên, chỉ cần thiết lập một trình rút gọn liên kết cục bộ trên máy chủ web trả lời "đi. example.com "và đảm bảo rằng DNS của bạn trả lời tìm kiếm example.com. Bằng cách đó, bạn không bị rò rỉ URL nội bộ ra thế giới. (Có thể tôi đang thiếu điểm.)

Lựa chọn thay thế:

  • Đối với một công ty rất nhỏ hoặc nhóm làm việc, hãy hỏi mọi người dấu trang yêu thích của họ và tìm một số khoảng trống để đặt nó lên trang nhất của mạng nội bộ.

  • Ngoài ra, hãy triển khai Intranet cho công ty hoặc nhóm nhỏ của bạn dưới dạng wiki, với một danh sách các liên kết nóng được chia sẻ hữu ích để giúp mọi người đến nơi mà họ có thể muốn đến.

Chúc mừng, -danny

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.