Localhost URL'sine alt alan adı ekleyin


104

Bir url önekine bağlı olarak farklı davranan bir web uygulaması yazıyorum. Biçim şuna benzer:

   https://myprefix.mycompany.com

Web uygulaması, myprefix'e bağlı olarak farklı davranır. Web uygulamam bu bölümü URL'den çıkarır ve buna göre hareket eder.

Ancak, yerelde test ettiğimde, bir yerel ana bilgisayar adresi kullanıyorum:

   https://localhost:1234

Şunun gibi bir şey yapmam:

   https://myprefix.localhost:1234

Bu senaryoyu test etmenin en iyi yolu nedir?

Çok teşekkürler


Yanıtlar:


150

Ne yazık ki, localhostuygun bir alan adı olmadığı için, ona böyle bir alt alan adı ekleyemezsiniz. Sen olabilir , ancak belirli bir etki alanını ve test şeyleri bu şekilde sahip düşünce içine bilgisayarınızı kandırmak. Örneğin, UNIX tabanlı bir işletim sisteminiz varsa, dosyayı açın (kök olarak) ve aşağıdaki gibi /etc/hostsbir satır (veya satır) ekleyin:

127.0.0.1    example.com
127.0.0.1    subdomain.example.com

Bilgisayarınız artık hem davranacak example.comve subdomain.example.comkendisine ait olarak. Bunlardan herhangi birini web tarayıcınızda ziyaret ederseniz, ilke olarak aynı şekilde çalışırlar localhost, ancak web sunucunuz Ana bilgisayar başlığında doğru etki alanını görür.


Cevabınız için çok teşekkürler. Bu tam olarak istediğim şey. Ancak web uygulamam 1234 diyelim bir port üzerinde çalışıyor. Etrafı araştırdım ve insanlar / etc / hosts içinde bir port numarası belirlemenin bir yolu olmadığını söylediler. Bağlantı noktasını belirlemenin en iyi yolu nedir?
Kevin

7
Örneğin, URL'nizdeki bağlantı noktasını her zamanki gibi kullanmanız gerekecek http://subdomain.example.com:1234/whatever. Bağlantı noktası etki alanından tamamen ayrıdır (etki alanları makineyi tanımlamak için kullanılır, bağlantı noktaları makinede hangi programla iletişim kurulacağını belirlemek için kullanılır).
Matt Patenaude

Alternatif olarak, yazılımınızı kök olarak çalıştırabilirseniz (test için), varsayılan olan 80 numaralı bağlantı noktasını kullanabilirsiniz, böylece bir tane belirtmeniz gerekmez.
Matt Patenaude

4
Alan adlarını ip adresinden sonra listeleyebiliriz: 127.0.0.1 example.com sub.example.com sub2.example.com...
automaton

6
Bu, pencereler için de geçerlidir. Pencerelerde konak dosya bulunmaktadır: C:\Windows\System32\drivers\etc\hosts. Dosyayı düzenlemek için daha düşük izinlere sahip başka bir yere (masaüstünüz gibi) kopyalamanız ve ardından tekrar klasöre yapıştırmanız gerekir (izinler arasında çalışmak için).
Lindsay-Needs-Sleep

36

Pencerelerde aynı davranıştan emin değilim. Linux darphanesi üzerinde çalışıyorum.

lvh.me:portYerel bir alan olarak kullanabilirsiniz . Projenizin localhost:portbu etki alanında dağıtıldığını hayal edebilirsiniz .

Yerine sub.localhost:portsen kullanımına ettiksub.lvh.me:port

UPD

sub.localhost:portchrome'da çalışıyor. Firefox otomatik olarak www ekler. alt alan testlerinde sorunlara neden olabilecek girilen alan adının başında


Bunun Windows'ta da çalıştığını doğrulayabilirim. Internet Explorer, Edge, Firefox ve Chrome tarayıcıları kusursuz çalışıyor!
Jose A

Firefox kullanıyordum ve krom uç günümü kurtardı, teşekkürler!
ZekeMidas

2
Ek esneklik için, nio.io veya xip.io hizmetlerini de kullanabilirsiniz. Herhangi bir IP adresini herhangi bir alt etki alanına eşlemeye izin verirler. Örneğin, iş arkadaşlarınız da uygulamanıza erişmek için aynı URL'yi kullanabilir. Örneğin, iş istasyonunuzun IP adresi ise 172.16.0.42, https://myprefix.myapp.172.16.0.42.nip.io:1234bilgisayarınızdan veya intranetinizdeki diğer bilgisayarlardan kullanabilirsiniz .
mh8020

6

Windows kullanıcıları için, bu yanıta ve bu yoruma göre, bunu , bu yolda bulunan hosts dosyası aracılığıyla localhost'a bağlantı noktaları ekleyerek başarabilirsiniz :

C:\Windows\System32\drivers\etc\hosts

Ve buna aşağıdaki gibi satırlar ekleyin:

127.0.0.1    example.com
127.0.0.1    subdomain.example.com

1

Windows için Tek Hatlı Çözüm

PowerShell'i Yönetici olarak açın ve aşağıdaki komutu çalıştırın, sub.mydomain.comistediğiniz şeyle değiştirin .

"`n127.0.0.1    sub.mydomain.com" | Out-File C:\Windows\System32\drivers\etc\hosts -encoding ASCII -append

Yıkmak:

  • `n - Yeni hat
  • 127.0.0.1 - geri döngü adresi
  • sub.mydomain.com - alan adı
  • | Out-File C:\Windows\System32\drivers\etc\hosts - dizeyi hosts
  • -encoding ASCII - doğru kodlama
  • -append- dosyanın sonuna ekleyin (önemli!)

1

.testEtki alanını bunun gibi şeyler için kullanıyor olmalısın . Bunun için olan budur .test. localhostherhangi bir alt alan adına sahip olmaması gerekir.

Bunu yapmak, onaylanmış RFC standartlarını ihlal eder. localhostbir A kaydına ve IPv6 ortamlarında bir AAAA kaydına sahiptir. SOA dahil diğer tüm DNS kayıt türleri yasaktır.

Bir SOA kaydı olmadan, alt kayıtlara sahip bir bölge tepe noktası olamaz, bu nedenle hiçbir alt etki alanına veya temsilciliğe izin verilmez. Yerel ana bilgisayar yerel ana bilgisayar olsun başlıklı son RFC taslağı bile bununla tutarlıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.