Saya menulis aplikasi web yang berperilaku berbeda tergantung pada awalan url. Formatnya seperti:
https://myprefix.mycompany.com
Aplikasi web berperilaku berbeda berdasarkan myprefix. Aplikasi web saya mengekstrak bagian itu dari URL dan menindaklanjutinya.
Namun, ketika saya menguji di lokal saya, saya menggunakan alamat localhost:
https://localhost:1234
Saya tidak bisa melakukan sesuatu seperti:
https://myprefix.localhost:1234
Apa cara terbaik bagi saya untuk menguji skenario ini?
Terimakasih banyak
Jawaban:
Sayangnya, karena
localhost
bukan domain yang tepat, Anda tidak dapat menambahkan subdomain seperti itu. Namun, Anda dapat mengelabui komputer Anda dengan berpikir bahwa ia memiliki domain tertentu dan mengujinya dengan cara itu. Misalnya, jika Anda memiliki sistem operasi berbasis UNIX, buka (sebagai root) file/etc/hosts
dan tambahkan baris (atau baris) seperti ini:Komputer Anda sekarang akan memperlakukan keduanya
example.com
dansubdomain.example.com
sebagai miliknya sendiri. Jika Anda mengunjungi salah satunya di browser web Anda, pada prinsipnya mereka akan bekerja sama sepertilocalhost
, tetapi server web Anda akan melihat domain yang benar di header Host-nya.sumber
http://subdomain.example.com:1234/whatever
. Port sepenuhnya terpisah dari domain (domain digunakan untuk mengidentifikasi mesin, port digunakan untuk mengidentifikasi program mana pada mesin untuk berkomunikasi).127.0.0.1 example.com sub.example.com sub2.example.com...
C:\Windows\System32\drivers\etc\hosts
. Anda perlu menyalin file ke tempat lain yang memiliki izin lebih rendah, (seperti desktop Anda), untuk mengeditnya dan kemudian menempelkannya kembali ke folder (untuk mengatasi izin).Saya tidak yakin tentang perilaku yang sama di windows. Saya sedang mengerjakan linux mint.
Anda dapat menggunakan
lvh.me:port
sebagai domain lokal. Anda dapat membayangkan bahwa proyek Anda diterapkan dilocalhost:port
domain ini.Daripada
sub.localhost:port
Anda harus menggunakansub.lvh.me:port
UPD
sub.localhost:port
bekerja di chrome. Firefox secara otomatis menambahkan www. di awal domain yang dimasukkan yang dapat menyebabkan masalah dengan pengujian subdomainsumber
172.16.0.42
, Anda dapat menggunakanhttps://myprefix.myapp.172.16.0.42.nip.io:1234
dari PC Anda atau dari PC lain di intranet Anda.Untuk pengguna Windows, berdasarkan jawaban ini dan menurut komentar ini , Anda dapat mencapai ini dengan menambahkan port ke localhost melalui file host yang berada di jalur ini:
Dan tambahkan baris seperti berikut ini:
sumber
Solusi Satu Baris untuk Windows
Buka PowerShell sebagai Administrator dan jalankan perintah berikut, ganti
sub.mydomain.com
dengan apa pun yang Anda inginkan.Kerusakan:
`n
- garis baru127.0.0.1
- alamat loopbacksub.mydomain.com
- nama domain| Out-File C:\Windows\System32\drivers\etc\hosts
- menyalurkan string kehosts
-encoding ASCII
- pengkodean yang benar-append
- tambahkan ke akhir file (penting!)sumber
Anda harus menggunakan
.test
domain untuk hal-hal seperti itu. Untuk itulah.test
.localhost
tidak seharusnya memiliki subdomain apa pun.Untuk melakukannya melanggar standar RFC yang disetujui.
localhost
memiliki data A dan di lingkungan IPv6, data AAAA. Semua jenis catatan DNS lainnya, termasuk SOA dilarang.Tanpa catatan SOA, itu tidak bisa menjadi puncak zona yang memiliki sub-catatan, jadi tidak ada subdomain atau delegasi yang diizinkan. Bahkan draf RFC baru-baru ini yang berjudul Biarkan localhost menjadi localhost konsisten dengan ini.
sumber