Katakanlah Anda telah Server A
mengatur dengan server-daemon favorit Anda untuk dilayani www.example.com
. Sekarang Anda ingin memindahkan ini Server B
. Setelah banyak penyalinan dan konfigurasi, server baru tampaknya siap. Tes akhir akan dilakukan: Sebelum mengubah catatan DNS, bagaimana orang meminta www.example.com
dari Server B ketika catatan DNS masih menunjuk ke server A?
Sementara pertanyaan utama saya telah dijawab, jika / etc / hosts tidak berada di bawah pengaruh saya, mungkinkah untuk mengujinya dengan telnet dengan alih-alih berbicara HTTP1.1 mentah ke server web?
domain-name-system
http
testing
Jarmund
sumber
sumber
Jawaban:
DNS adalah hal yang ajaib. Dengan kontrol yang cukup atas PC klien, Anda dapat
right.com
masuk kewrong.com
danviceversa.io
. Langsung ke PC klien uji dan kotoran dengan resolusi DNS-nya dengan baik mengubah file host pada klien itu, atau Anda dapat melakukan sesuatu yang sedikit lebih kompleks dan memberikan host itu server DNS sederhana untuk permintaan, sepertidnsmasq
. Apa pun cara Anda menjalani proses, tujuan utamanya adalah membuat respons DNS untuk pertanyaan terkaitwww.example.com
respons dengan alamat IP untuk Server B. Header host HTTP kemudian akan menanggung nama DNS untuk www.example.com, tetapi ditujukan untuk Server B.Sihir!
sumber
/etc/hosts
tidak terpikir oleh saya, dan ini bekerja dengan sempurna. Sorakan untuk pengingat!hosts
file tidak terlibat dalam resolusi DNS tetapi merupakan mekanisme pencarian nama yang sama sekali terpisah bahwa perpustakaan resolver yang disediakan oleh OS klien dapat, dan dalam kebanyakan kasus akan, digunakan selain pencarian di DNS. Secara pribadi saya pikir bit "itu sihir" hanya memasukkan "tidak perlu dipahami", yang tentu saja merupakan hal buruk bagi para profesional.Penting untuk dicatat bahwa yang penting untuk melakukan tes seperti ini untuk HTTP tidak benar-benar terkait dengan DNS sama sekali, tetapi apa yang dikirim klien HTTP sebagai nilai
Host
header.Klien perlu terhubung ke alamat IP dan port yang tepat, tentu saja, tetapi lebih dari itu semuanya bermuara pada
Host
header yang sebaris dalam permintaan HTTP itu sendiri.Untuk pengujian cepat, perintah berikut dapat digunakan tanpa mengubah konfigurasi level sistem operasi apa pun pada klien:
atau, dalam hal ini,
Untuk melakukan hal yang sama dengan browser web biasa Anda memerlukan ekstensi browser yang dapat memodifikasi header permintaan (atau mungkin proxy HTTP yang mengubah header), atau Anda perlu mengubah konfigurasi sistem operasi mesin klien.
Seperti yang telah disebutkan, cara termudah untuk melakukan perubahan konfigurasi adalah menambahkan entri ke
hosts
file. Dengan cara ini perpustakaan resolver OS klien akan mendapatkan hit saat berkonsultasihosts
file dan bahkan tidak perlu melakukan pencarian DNS.Pilihan lain termasuk mengubah server resolver DNS yang dikonfigurasi pada klien ke server nama yang diatur untuk menjawab seperti yang diinginkan.
sumber
curl
memungkinkan Anda untuk mengganti resolusi nama normal (DNS atau hostfile) dan masih melakukan header secara otomatis, dan juga SNI jika menggunakan / menguji httpS. Lihat--resolve
di halaman manual Anda atau di curl.haxx.se/docs/manpage.html .Anda dapat menguji ini dengan
telnet
. Anda perlu membuat permintaan HTTP mentah dengan mengetikkan perintah. Anda tidak dapat membuat kesalahan, dan beberapa server memiliki batas waktu sehingga Anda juga harus mengetikkan seluruh permintaan dalam jangka waktu tersebut.Perintahnya akan seperti ini:
Permintaan akan terlihat seperti ini:
Perhatikan bahwa itu harus diakhiri dengan baris kosong, jadi Anda akan menekan enter dua kali setelah header host.
sumber
Host
tidak semuanya terbatas. (Dan ternyata beberapa server mungkin mengalami masalah dengan kapitalisasi yang berbeda.)Apa yang biasanya saya lakukan adalah memaksa www.example.com ke alamat IP server B di / etc / hosts saya. Saya sudah melakukan itu sejak saya menggunakan Mosaic dan karena saya jarang melakukannya, saya belum merasa perlu untuk menemukan yang lebih baik.
Melihat-lihat sedikit untuk Anda, saya menemukan /superuser/403042/custom-host-file-for-firefox yang dijawab oleh https://addons.mozilla.org/es/firefox/addon/ foxyproxy-standard / tetapi ada catatan yang sangat baru mengatakan bahwa itu ditinggalkan.
sumber
Jika Anda perlu memeriksa apakah itu berfungsi, saya sarankan plugin broswer sederhana seperti
Modify Headers
untuk Firefox, dan ubahHOST
kewww.mydomain.com
.sumber