Soru Linux / OSX'teki / etc / hosts / dosyamda joker subdomain'i nasıl yapabilirim?


Yerel sunucumdaki alt alanları test etmem gerekiyor. Bu ekleme sonucunu etkili bir şekilde nasıl alabilirim? *.localhost.com benim için /etc/hosts/ dosya?

Mümkün değilse, bu sorunu nasıl çözerim? Yerli sunucumdaki joker alt alanlarını test etmem gerekiyor. Bu bir Django dev sunucusu, Django dev sunucusu alt alanları ele alabilir mi? Başka bir yazılım / yönlendirme parçası bana istediğim sonucu verir mi?


153
2018-03-02 16:43


Menşei


Süper kullanıcıda var mı? - Paul R
İnsanların mümkün olmadığını söylediğini biliyorum. Ama yine de nasıl yaparım? / Etc / hosts dışındaki bir şey nedir / etki yaratmak için kullanabilirim. Geliştirme sunucusu test ediyorum. - MikeN
süper kullanıcı: unix.stackexchange.com/questions/3352/... - Ciro Santilli 新疆改造中心 六四事件 法轮功
Çoğu cevap ilk sorunuza odaklandığından (localhost subdomain joker karakterleri), ikincil sorunuzu bir yorum olarak yanıtlayacağım: evet, Django dev sunucusu, localhost alt alanlarını ele alma kabiliyetine sahiptir, sadece tarayıcınızı ve işletim sisteminizi ikna etmelisiniz trafiği yollamak (aşağıda çeşitli çözümlerden birini kullanarak)! - hheimbuerger


Cevaplar:


Python'da bir dns vekili yazdım. / Etc / hosts içindeki joker karakterleri okuyacaktır. Buraya bakın: https://github.com/hubdotcom/marlon-tools/blob/master/tools/dnsproxy/dnsproxy.py


40
2018-05-02 09:30



Bu harika! Uzun zamandır böyle basit bir çözüm arıyordum (OSX Mavericks BTW'de Çalışmak) - Billy Moon
şimdi, eğer sadece pip install o :) - metakermit
Bunu yükledim, her şeyi yaptım ve çalıştırdım, ancak siteleri engellemiyor. - DisplayName
Bunu yeterince kabul edemez. Buna sonsuza kadar ihtiyacım vardı, bir soru ve cevabın bu mücevheri üzerine tökezledim, ve ben bir Python korsanıyım ve bu da düzgün bir tidbit. Paylaşım için teşekkürler! - Farley


kurmak dnsmasq (Bunu, tüm Linux masaüstü bilgisayarlarında zaten bir DNS önbelleği olarak yapıyorum). İçinde dnsmasq.conf satırı ekle:

address=/localhost.com/127.0.0.1

145
2018-03-03 02:37



Parlak! Mac kullanıcıları için not, gerçekten bu kadar basit: 1. sudo port install dnsmasq 2. düzenle /opt/local/etc/dnsmasq.conf 3. sudo port load dnsmasq - tomc
Demlemek OSX: Yukarıdaki ile aynı ama demlemek dnsmasq - Matt Humphrey
fyi demlemek> liman (re @MattHumphrey öneri) - electblake
Bu örnek benim için çalışmaz, muhtemelen kullanıyorum çünkü vagrantup.com yerel servis için. Endişelenme, IP'yi zaten doğru olana değiştirdim. 192.168.50.11 ancak DNS çözümlenmiyor. Herhangi bir fikir, bu örnek "127.0.0.1 olmayan" IP'ler için doğru mu? - Brian
Büyük bahşiş. Bir Ubuntu 14.04 masaüstünde (varsayılan olarak dnsmasq çalışır), adında bir dosya oluşturun. /etc/NetworkManager/dnsmasq.d/dnsmasq-localhost.conf ve çizgiyi koy address=/localhost.com/127.0.0.1 içinde, sonra yeniden başlatın. - user38397


Joker karakterleri belirtmek mümkün değildir. /etc/hosts dosya. Gerekli ana bilgisayar adlarını açık bir şekilde belirtin veya alternatif olarak yerel bir ad sunucusunu uygun kurallarla ayarlayın.


53
2018-03-02 16:46





Bir DNS sunucusu kurmanız ve müşteri Çözünürlük için kullanın. Sunucu kendisi "ışık" olarak bir şey olabilir dnsmasq veya kadar ağır BIND.


14
2018-03-02 20:28



Gerçekten iyi belgelenmiş ve kullanımı kolay dnsmasq için +1 - David Schmitt
dnsmasq bunu yapamaz. - DisplayName
Tanımlanan davranışların hangi bölümü --address= dnsmasq.conf man sayfasının bölümü, yukarıdaki kullanım durumunu açıklamıyor mu? - Gerald Combs


Basit İş Akışı (herhangi bir şey kurmaya gerek yoktur)

Kişisel olarak bunun için bir PAC dosyası oluşturmayı ve tarayıcımı kullanmamı seviyorum.

Aşama 1: bir dosya oluştur *.proxy.pac* bir yerlerde $home Klasör)

Adım 2: bu kodu yapıştırın (örnek port 8000 ile):

function FindProxyForURL(url, host) {
  if (shExpMatch(host, "*localhost")) {
    return "PROXY localhost:8000";
  }
  return "DIRECT";
}

Aşama 3: Tarayıcınızın bu PAC dosyasını kullanmasını sağlayın.

PAC ve Firefox için Youtube Videosu 

4. Adım: Şimdi uygulamanıza erişerek test edebilirsiniz: http://mysubdomain.localhost/

Adım 5: Keyfini çıkarın :)


8
2018-03-02 16:47



Belki de bunun sadece tarayıcınızı etkileyeceğinden bahsetmeye değer. Diğer programlar (gibi wget, bundan etkilenmeyecektir). Bu bir sorun değil, belki de bundan bahsetmek daha iyidir. - Willem Van Onsem


Joker karakter kullanamazsınız /etc/hosts.

Bir göz var İşte BIND, yerleşik ama inaktif DNS sunucusu ve Apache kullanarak OS X üzerinde nasıl gerçekleştirileceği hakkında iyi bir izlenim için.


3
2018-04-16 09:11



Apache'nin alt alanlarla ilgisi yoktur. - Anonymous


Eski bir projemi hatırlıyorum:

https://github.com/airtonix/avahi-aliases

Gereksinimler:

  • avahi ve python-avahi'nin kurulabilir olduğu linux
  • .local alan adlarıyla sorun yok (avahi başka türde bir desteği desteklemiyor)

Dnsmasq veya python dns proxy kullanımıyla ilgili avantajlar:

  • Yerel ağınızdaki diğer avahi / bonjour kullanıcıları, oluşturduğunuz ve ağa duyurduğunuz takma adları çözebilir (bağlantı noktası 5353'e erişim izni verdiğinizde)

3
2018-03-06 22:02