"Alan adınız için bir" tinyurl "hizmeti " blog yayını , Google Apps kullanarak alan adınız için nasıl Kısa Ad hizmeti oluşturacağınızı açıklar. Örneğin, alan adınız example.com
ve Google Apps kullanıyorsanız, bunu şirketinizin http://go.example.com
kişisel Kısa Ad hizmeti olacak şekilde yapılandırabilirsiniz .
NOT: Bu, dünyanın kullanması için bir "tinyurl" hizmeti oluşturmakla ilgili değildir. Bu bir işletme içindir.
Dahili sayfalara bağlantı oluşturabilmeniz için yalnızca kullanıcılarınızın kullanabileceği bir kısa ad hizmetine sahip olmanız yararlı olur. İnsanlara uzun bir zor URL söylemek yerine, "Bugünün öğle yemeği menüsü http://go.example.com/lunch adresinde " diyebilirsiniz . Blog yazısı, insanları kendi bağlantılarını kurmaları için güçlendirmenin bazı faydalarını belgeliyor. (En önemlisi: yeni bir bağlantı kurmak için sizi rahatsız etmek zorunda değiller!)
Sorun
Sistemdeki sorun, URL'nin hala oldukça uzun olmasıdır. İnsanlar web tarayıcılarına "git / öğle yemeği" yazmayı ve çalışmasını isterler. Ne yazık ki, Google Apps, HTTP protokolünün nasıl çalıştığı tekniklerinden dolayı bunu destekleyemiyor. HTTP 1.1'deki "Host:" başlığı, kullanıcının FQDN'yi değil, web tarayıcılarına yazdığı etki alanını listeler . Başka bir deyişle, Google Apps " http: // go / lunch " için HTTP isteğini aldığında, web sunucusu ana makine adı olarak "go" alır. Google Apps, birçok alanlar için de bu hizmeti sağlayan olduğundan isterseniz, bu söyleyemem go.example.com
ya go.some-other-example.com
.
Sonuç olarak, kullanıcıların her seferinde "go.example.com/lunch" yazmaları gerekir, bu da "git / öğle yemeği" den çok daha uzundur.
Çözüm
Google bunu web çerezleri veya başka bir şema kullanarak çözebilir. Hiçbiri özellikle temiz veya kolay değildir. Bunu yapana kadar, istekleri "git" olarak kabul eden ve yönlendiren bir makine kurarak sorunu çözebilirsiniz.
Sunucu "go" adlı bir site için HTTP isteklerini kabul eder ve isteği adresine yönlendirir go.example.com
. Daha sonra doğru DNS kayıtlarını çalıştıracak şekilde oluşturun ve DHCP yapılandırmalarınızı, dizüstü bilgisayarlarınızın / iş istasyonlarınızın doğru olanı yapmasını sağlayın.
Bu Sunucu Hatası belgesinin amacı, işlemi açıklamak ve ardından siteniz için bunu yapmanıza yardımcı olacak yapılandırma örnekleri vermektir. Dünyadaki her işletim sistemine erişimim veya bilgim olmadığı için, bunu bir "topluluk wiki" haline getiriyorum, böylece insanlar onlar için çalıştıkça yapılandırma snippet'lerini doldurabilirler. Özellikle iyileştirilmesi gereken bir alana 'TODO' koydum.
Ayrıntılar
Bu örnekte alan adı olarak "example.com" kullanacağız.
1. Adım: Google Apps hizmetini normal şekilde ayarlayın.
Hizmeti go.example.com
normal şekilde yapılandırın . Test edin ve benzer bir URL'nin http://go.example.com/foo
çalıştığından emin olun . Bu tamamlanmadıysa devam etmeyin. Bu, arabanız sizinkinden önce onarılmaya çalışılır.
2. Adım: Yeniden yönlendirici ana makine adınızı seçin
Kısa go.example.com
ad hizmetinizse , ideal olarak yeniden yönlendiricinizin adını yaparsınız go.example.com
. Ne yazık ki, fizik iki cismin aynı anda aynı yerde olmasını önler ve DNS fizik yasalarına uyar.
İşin püf noktası, yeniden yönlendiricinin ShortName hizmetiyle aynı ana bilgisayar adı, ancak farklı bir etki alanında olması. Örneğin go.corp.example.com
, go.ext.google.com
ya da go.this-is-different.example.com
.
Büyük şirketlerin genellikle dış dünyaya açık olmayan bir iç alt alanı vardır. Genellikle dahili ana bilgisayarlar vardır INSIDEHOST.corp.google.com
. Yeniden yönlendiriciyi koyduğunuz yer burasıdır.
Bazı şirketler, hem şirket içinden hem de dışından erişilmesi gereken hizmetlere işaret eden CNAME'lerle dolu bir alt alan ayırır. Bu şekilde, insanların DNS arama yoluna konulması gereken bir alt alan vardır. (Unix kullanıcıları bunu /usr/local/bin
sembolik linklerle dolu bir alt dizin olarak düşünebilir ) Geleneksel olarak bu alt alan adıdır ext.example.com
. Bu alt alan olarak CNAME'ler gibidir mail.ext.example.com
, calendar.ext.example.com
, vpn.ext.example.com
, vb.)
Uyarı: DNS arama yolunuza başka bir öğe eklemek, bilgisayarlarınızın daha yavaş çalışmasını sağlamanın başka bir yoludur. HER ZAMAN ek bir DNS sorgusu yapmak yavaştır ve web'de gezinmek belirgin şekilde daha yavaş olacaktır. Birden çok alt alana CNAME eklemek anlamına gelse bile, bu yönlendiriciyi makinenizin DNS arama yolunda bulunan bir alt alana eklemek çok daha iyidir. Örneğin, dahili makineleriniz ve VPN'nize bağlı makineler corp.example.com
zaten arama yollarındaysa, CNAME'yi buraya ekleyin. VPN'lenmemiş harici makinelerin yeniden yönlendiriciye erişebilmesini istiyorsanız, dışarıdan hiç erişilmeyen makineler için alt alansa corp.example.com
, arama yollarına sabit kod yazmak garip gelebilir . Bu durumda, harici bir alt alana başka bir CNAME eklenebilir (ör.ext.example.com
) yönlendiriciye yönlendirin. Web sunucusu yapılandırmasını her ikisini de destekleyecek şekilde güncelleyin.
Bu örnekte, yeniden yönlendiricinin olacağını seçtiğinizi varsayalım go.ext.example.com
. Makine istediğiniz herhangi bir şey olarak adlandırılabilir, DNS ve web sunucusu yapılandırmasında tüm sihri yapacağız.
3. Adım: Yönlendiricinizi planlama
Ayarlayacağınız web sunucusu mevcut bir web sunucusunda veya sadece bu amaçla oluşturulmuş yeni bir web sunucusunda olabilir. Anahtar, makineye ShortName hizmetinin çalışmasını istediğiniz yerden erişilebilir olması gerektiğidir: şirket içinde, şirket dışında, kullanıcı VPN üzerinden bağlandığında. (Güvenlik nedeniyle bu çalışmayı şirket dışından almayı tercih edebilirsiniz. Güvenlik nedeniyle, içeride bir makine ve dışarıda başka bir makine kurabilirsiniz.)
Not: Bunun için yeni bir web sunucusu ayarlamanız gerekmez. Yapılandırma mevcut olmadığı sürece bunu önceden var olan bir web sunucusuna ekleyebilirsiniz.
Not: Bu oldukça karmaşık olabilir. Bunun en basit durumda çalışmasına odaklanmak isteyebilirsiniz, daha sonra çalıştıktan ve test edildikten sonra, diğer durumlar için çalışmasını sağlayın. Özellikle, şu sırayla çalışmasını sağlayın: 1. şirket içindeki iş istasyonları / dizüstü bilgisayarlar 2. VPN ile bağlı OLDUĞU makineler, daha sonra şirket dışındaki makineler (örneğin, bir İnternet kafede). 3. OLARAK ağ dışındaki makineler, VPN yukarı olmadan 4. SONRA bunu diğer işletim sistemleri için test edin
Bu örnekte, ister şirket içinde ister şirket dışında olun, aynı IP adresinden erişilebilen bir web sunucusu olduğunu varsayacağız.
"Go. Corp .example.com" örneğimizde bu, "go" nun yalnızca içeriden öğrenenler tarafından erişilebilen ve ShortName hizmetini kullanmak için bir VPN gerektiren bir alt etki alanında olduğu anlamına gelir. Google Apps genellikle bir VPN olmadan çalışacak şekilde yapılandırıldığından (tüm erişim HTTPS olduğu için), bu en düşük düzeydedir.
"Go. Ext .example.com" örneğimizde bu, alt alana hem şirketin içinden hem de dışından erişilebileceği ve A
kayıtların harici bir IP adresine işaret ettiği anlamına gelir .
4. Adım: Yeniden yönlendiriciniz için DNS kayıtları ekleyin
Gerekli DNS kayıtları şunlardır:
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
İlk DNS kaydı (go.example.com), 1. Adımın bir parçası olarak zaten mevcut olmalıdır.
İkinci DNS kaydı (devam. Ext .example.com), A
yapılandırmakta olduğunuz yeni web sunucusunun IP adresini gösteren bir kayıttır.
Üçüncü DNS kaydı (go-redirector) hata ayıklama sırasında size yardımcı olmaktır.
5. Adım: Web sunucusunu yapılandırın
Yönlendirmeyi web sunucusuna ekleyin. (Bu, web sunucusunun zaten kurulu ve çalışıyor olduğunu varsayar).
Apache yapılandırma snippet'i şöyledir:
<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>
Bu nasıl test edilir. http://go-redirector.example.com
bu noktada çalışmalı.
Bu test çalışana kadar devam etmeyin. Bebek adımları.
6. Adım: İstemcinin DNS arama yolunu yapılandırın
Şimdi makineleri (web tarayıcısı çalıştıran herhangi bir şey) DNS arama yolunun "ext.example.com" içereceği şekilde yapılandıracağız
DHCP sunucunuzda ve VPN sunucunuzda bir DNS arama yolu gönderin:
corp.example.com.
(yönlendirme ana makinesine sahip alt alan adı ve ardından ".")
Alternatif olarak aşağıdaki gibi bir arama yolu kullanabilirsiniz:
corp.example.com example.com.
Ancak bu, gittiğimiz HER darn web sayfası için ek bir DNS araması ekleyecektir. Zamanın% 99'unda başarısız olacağından, bu sadece web gezintisini yavaşlatacaktır.
İş istasyonlarında ve dizüstü bilgisayarlarda, alt alan adının DNS arama yolunda bulunduğundan emin olmanız gerekir. Bu şekilde kullanıcı "git" yazdığında, yazılım bunu etki alanında bulur.
Makinenin arama yolunu, arama yolunun ayarlanabileceği her şekilde bu alt etki alanını içerecek şekilde yapılandırmak istiyoruz:
Başlangıçta, DNS arama yolu DHCP üzerinden ayarlanamadı. Bu yeni eklenen bir özelliktir ve tüm DHCP istemcileri bunu desteklemez. Destekleyen DHCP istemcileri bile değiştirilmelidir çünkü bir dizüstü bilgisayar bir İnternet kafede olduğunda, kontrol etmeyen bir DHCP sunucusuyla konuşur. Dizüstü bilgisayar bir VPN kullandığında, VPN istemci yazılımı aslında DHCP kullanmaz, ancak VPN sunucusunun genellikle DHCP sunucusundan alacağı ayarları aktarmasının bir yolu vardır.
Bu nedenle, tüm bu yerlerde DNS arama yolunu ayarlamak istiyorsunuz:
- DHCP sunucusu DNS arama yolu seçeneklerini göndermelidir
- Statik olarak yapılandırılmış makinelerde DNS arama yolu ayarlanmalıdır
corp.example.com
DHCP sunucusu zaten istemiyorsa, DHCP kullanan istemciler etki alanını arama yollarına önceden ekleyecek şekilde yapılandırılmalıdır .
Aşağıda çeşitli DHCP sunucularında ve işletim sistemlerinde bunun nasıl yapılacağı ile ilgili talimatlar verilmiştir.
DHCP sunucularını bir DNS Arama Yolu içerecek şekilde yapılandırma:
- Windows DHCP talimatları
YAPMAK
- ISC DHCP talimatları
Arama yolu yalnızca makinenin olması gereken etki alanı ise, o zaman:
option domain-name "corp.example.com";
İstemciler bir arama yolu sağlamak için RFC 3397'yi destekliyorsa, bunu yapabilirsiniz, ancak her biri DNS'de olduğu gibi uzunluk ön ekli etiketler olarak kodlanan bir DNS ana bilgisayar dizisi olan bir veri türü için yerel destek olmadığından gariptir. Kayıt dizisi olarak tanımlanan bir seçeneğin değerlerini yazmanın bir yolu yoktur; burada kayıt başka bir kaydın dizisini içerir, bu nedenle işleri manuel olarak kodlamak için bir veri dizesi kullanmak üzeresiniz.
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)
);
(denenmemiş) iki öğe arama listesi oluşturmalıdır.
- dnsmasq DHCP talimatları
YAPMAK
Statik olarak yapılandırılmış makineleri yapılandırma:
- pencereler
YAPMAK
- Linux / Unix
Düzen /etc/resolv.conf
ve emin (1) "domain corp.example.com" ilk satırı, (2) eklenti / düzenle "arama" çizgi dahil etmek yapmak corp.example.com
bir ekleme alanı, (3) "seçenekleri ndotes: 2" çizgi için DNS sunucularınızdaki yükü azaltın.
domain corp.example.com
search corp.example.com exmaple.com
options ndots:2
DHCP istemcilerini diğer DHCP sunucularında çalışacak şekilde yapılandırma
Windows, Linux vb. İçin YAPILACAKLAR
7. Adım: Test edin, test edin, test edin!
Artık kullanıcılar şunları belirleyebilmelidir:
http: // go / foo http: //go.example/foo http://go.example.com/foo
Aslında, bir güven testi olarak, bu URL'leri her durumda test etmek istersiniz:
( each OS you support ) * ( internal LAN / at an Internet cafe / while on the VPN )
Adım 8: Diğer tavsiyeler
Ve son olarak, bir tavsiye: Bunun mükemmel bir işini yapmış olsanız bile http://go/foo
, bir kişi DNS aramasını zorlamak için yapılandırmamış olduğunuz bir bilgisayara yazmaya çalıştığında hala bir bağlantının çalışma riskiyle karşı karşıyasınız. alanınızı eklemek için bir yol. Bu nedenle, bağlantıları tam URL'yi kullanarak yayınlamalısınız http://go.example.com/foo
:; ve şirketinizin PR departmanını ve diğerlerini her zaman bu şekilde belirtmeleri için eğitmek için zaman ayırın.
Veya en azından bunları HTML'de kodlayın, böylece bağlantı metninde "git" görünür, ancak gerçek HREF FQDN'ye gider:
<a href="http://go.example.com/lunch">go/lunch</a>
Halkla ilişkiler departmanındaki kişilere bunu yapmayı öğretmek zor olabilir. Onlara sadece uzun versiyonunu ( go.example.com
) yazdıkları herhangi bir şeyde kullanmak zorunda olduklarını söylemek isteyebilirsiniz, çünkü kısa “git / öğle yemeği” sadece kazara çalışır.
Adım 8: HTTPS
YAPILACAKLAR: HTTPS ile nasıl çalışacağınızı öğrenin (sertifikaların doğru olması imkansız olmasa bile çok zor olacaktır).