Saya perlu menguji sub-domain di localhost saya. Bagaimana saya dapat secara efektif mendapatkan hasil ini untuk ditambahkan *.localhost.com
ke /etc/hosts/
file saya ?
Jika tidak memungkinkan, bagaimana saya mengatasi masalah ini? Saya perlu menguji sub-domain wildcard pada server lokal saya. Ini adalah Django devserver, bisakah server Django dev menangani sub-domain? Bisakah beberapa software / routing memberi saya hasil akhir yang saya inginkan?
Jawaban:
Saya telah menulis proksi dns dengan Python. Ini akan membaca entri wildcard di / etc / hosts. Lihat di sini: https://github.com/hubdotcom/marlon-tools/blob/master/tools/dnsproxy/dnsproxy.py
sumber
pip install
melakukannya :)Instal dnsmasq (saya melakukan ini di semua desktop Linux saya sebagai cache DNS). Di
dnsmasq.conf
tambahkan baris:sumber
sudo port install dnsmasq
2. sunting/opt/local/etc/dnsmasq.conf
3.sudo port load dnsmasq
192.168.50.11
tetapi DNS tidak menyelesaikan. Ada ide, apakah contoh ini benar untuk IP "non-127.0.0.1"?/etc/NetworkManager/dnsmasq.d/dnsmasq-localhost.conf
dan letakkan barisaddress=/localhost.com/127.0.0.1
di dalamnya, lalu mulai ulang.Tidak mungkin untuk menentukan wildcard dalam
/etc/hosts
file. Baik tentukan nama host yang diperlukan secara eksplisit atau sebagai alternatif, buat server nama lokal dengan aturan yang sesuai.sumber
Anda perlu mengatur server DNS dan meminta setiap klien menggunakannya untuk resolusi. Server itu sendiri dapat berupa sesuatu yang "ringan" seperti dnsmasq atau seberat BIND .
sumber
--address=
bagian halaman manual dnsmasq.conf yang tidak mencakup use case yang dijelaskan di atas?Alur Kerja Sederhana (tidak perlu menginstal apa pun)
Saya pribadi suka membuat file PAC untuk itu dan membuat browser saya cukup menggunakannya.
Langkah 1: buat file misalnya: di
*.proxy.pac*
suatu tempat (saya menggunakan$home
folder saya )Langkah 2: rekatkan kode ini (contohnya dengan port 8000):
Langkah 3 : Jadikan Browser Anda menggunakan file PAC ini.
Video Youtube untuk PAC & Firefox
Langkah 4 : Sekarang Anda dapat menguji aplikasi Anda dengan mengakses:
http://mysubdomain.localhost/
Langkah 5: Nikmati :)
sumber
wget
, tidak akan terpengaruh oleh ini). Itu bukan masalah semata, tetapi mungkin lebih baik untuk menyebutkan ini.req.url
itu sekarang adalah URL absolut. Ini dilakukan karena asumsinya adalah Anda ingin menulis server proxy yang sebenarnya, tetapi mengejutkan jika Anda sampai pada teknik ini hanya sebagai cara untuk berhenti menambahkan entri / etc / hosts untuk debugging. FYI untuk mereka yang mungkin pergi jalan yang sama saya lakukan.Saya sudah merapikan proyek lama saya:
https://github.com/airtonix/avahi-aliases
Persyaratan:
Keuntungan dibandingkan menggunakan dnsmasq atau python dns proxy:
sumber
Solusi berbasis DNS ini bekerja dengan sempurna dalam kasus saya, tanpa perlu menginstal apa pun: https://gist.github.com/fedir/04e60d679d5657d1f9f9aa10b3168282 (Mac OSX 10.9)
sumber
Anda tidak dapat menggunakan wildcard di
/etc/hosts
.Lihat langkah-langkah di sini untuk mengetahui cara menyelesaikan pada OS X menggunakan BIND, server DNS bawaan tetapi tidak aktif, dan Apache.
sumber
Jika Anda ingin menggunakan
dnsmasq
denganNetworkManager
Anda dapat (atau bahkan harus?) Mulaidnsmasq
dariNetworkManager
dengan menambahkanuntuk
/etc/NetworkManager/NetworkManager.conf
. Kemudian konfigurasi dnsmasq pergi ke/etc/NetworkManager/dnsmasq.conf
atau/etc/NetworkManager/dnsmasq.d/
resp.sumber
Jawaban singkat:
/ Etc / hosts / file Anda tidak akan membiarkan Anda menggunakan wildcard atau nomor port. Anda harus membuat satu entri untuk setiap subdomain Anda
sumber
Jawaban singkatnya adalah Anda tidak. Jawaban yang lebih panjang adalah Anda harus lebih jelas tentang apa yang ingin Anda capai, karena mungkin ada cara yang lebih baik, dan cara yang berbeda untuk mencapainya.
Untuk web-hosting (Saya tidak pernah melihatnya digunakan sebaliknya) dilakukan dalam DNS bersama dengan server web hosting virtual hosting. Untuk informasi lebih lanjut tentang catatan DNS wildcard (Wikipedia), dan artikel Wildcard hosting dengan Apache dan Bind untuk Linux menggunakan bind dan Apache.
Paling buruk, Anda bisa menggunakan server DNS lokal saya kira.
sumber
Tugas umum untuk subjek ini adalah memetakan direktori ke subdomain. Cara yang sangat mudah untuk itu adalah menambahkan entri berbasis direktori secara otomatis ke file hosts:
sumber
Terima kasih tschundeee untuk apa yang saya anggap sebagai jawaban akhir untuk masalah ini, berharap saya bisa berkomentar tapi di sini adalah konfigurasi total untuk mereka yang mencoba mencapai tujuan asli (wildcard semua menunjuk ke basis kode yang sama - tidak menginstal apa-apa, dev environment ie , XAMPP)
file hosts (tambahkan entri)
file: / etc / hosts (non-windows)
Konfigurasi httpd.conf (aktifkan vhosts)
file: /XAMPP/etc/httpd.conf
Konfigurasi httpd-vhosts.conf
file: XAMPP / etc / extra / httpd-vhosts.conf
restart apache
buat file pac:
simpan sebagai apa pun.pac di mana pun Anda inginkan dan kemudian muat file di jaringan browser> proxy> pengaturan konfigurasi auto_ (muat ulang jika Anda mengubahnya)
sumber
dnsmasq bekerja untuk saya, kecuali saya harus membuat beberapa langkah tambahan.
Inilah prosedur lengkapnya:
Lanjutkan
/etc/resolv.conf
dengan baris berikutTambahkan baris berikut ke
/etc/dnsmasq.conf
Mulai ulang dnsmasq
sumber