Dalam skenario apa saya akan menggunakan `netsh http add urlacl`?


14

Saya mencoba untuk memahami di mana scenarious saya perlu menggunakan perintah seperti itu:

netsh http add urlacl url=http://server1:1234/ user=Everyone

Apakah itu seperti menggunakan hostsfile di mana saya dapat menghubungkan alamat tertentu ke komputer saya? (Kurasa tidak).

The docs tidak yang jelas (untuk saya):

Netsh adalah utilitas skrip baris perintah yang memungkinkan Anda untuk, baik secara lokal atau jarak jauh, menampilkan atau memodifikasi konfigurasi jaringan komputer yang sedang berjalan. Netsh juga menyediakan fitur scripting yang memungkinkan Anda untuk menjalankan sekelompok perintah dalam mode batch terhadap komputer tertentu. Netsh juga dapat menyimpan skrip konfigurasi dalam file teks untuk keperluan arsip atau untuk membantu Anda mengkonfigurasi server lain.

Pertanyaan:

Dapatkah seseorang tolong berikan skenario kehidupan nyata (+ implementasi) di mana saya ingin menggunakannya?

Info Tambahan: Saya sudah membaca pertanyaan ini di mana seorang pria yang telah mencoba mengakses (melalui C #) ke:

http://localhost:1234 bekerja, tapi

http://server1:1234 gagal

(Namun - saya tidak mengerti mengapa dia tidak menggunakan hostsfile yang bisa menyelesaikannya) - Tapi kemudian orang lain menjawab yang netshakan melakukan pekerjaan itu.
Jadi saya kira saya kehilangan sesuatu di sini.


Saya sangat tahu file host apa yang digunakan untuk saya melakukannya setiap hari selama 1 tahun terakhir. Saya tidak mengerti bagaimana kode dalam pertanyaan saya berbeda dari file host. Tampaknya mereka berdua melakukan hal yang sama. Dan sayangnya, Anda tidak memberikan perbedaan apa pun dalam jawaban Anda
Royi Namir

Jawaban:


18

Anda akan menggunakan netsh httpketika memodifikasi konfigurasi http.sys, yang sama sekali berbeda dari hostsfile, bekerja pada tingkat yang jauh lebih rendah dari Windows. Level ini adalah level yang menangani jalannya server HTTP secara lokal di komputer Anda , jadi berkaitan dengan permintaan yang masuk ke komputer Anda, daripada yang keluar ke Internet.

Ini adalah arsitektur di Windows untuk melayani permintaan URL:

Arsitektur http.sys

http.sys adalah pengandar yang mendengarkan lalu lintas HTTP dan mengirimkan permintaan berdasarkan pada URL untuk diproses, sehingga beberapa proses dapat mendengarkan lalu lintas HTTP pada port yang sama.

http.sysdiperkenalkan di Windows server 2003. Sebelumnya, aplikasi baru saja membuka soket pada titik akhir (IP: Port), mendengarkan lalu lintas masuk dan menguraikannya. Masalahnya adalah hal ini membuat semua aplikasi tidak dapat menggunakan port 80 (http) dan 443 (https), karena dengan model soket hanya satu aplikasi yang dapat mendengarkan titik akhir pada waktu tertentu.

Ketika server Web Layanan Informasi Internet (IIS) , atau aplikasi apa pun yang menggunakan HTTP Server API, mendengarkan pada beberapa jalur permintaan HTTP, mereka harus mendaftarkan awalan URL http.sys. Kami menyebut proses ini sebagai pendaftaran .

Ketika permintaan masuk diambil http.sysdan dikirimkan ke aplikasi terdaftar yang tepat, ini disebut perutean .

Aplikasi apa pun yang berjalan dalam mode administrator dapat mendaftar untuk URL. Aplikasi non-administrator perlu digunakan netsh http add urlacl untuk menerima permintaan.

Kesimpulan: Karena Anda tidak membangun server URL tingkat rendah yang berjalan dalam mode non-administrator, Anda tidak punya alasan untuk menggunakannya netsh http add urlacl.

Referensi :


Bisakah Anda memberikan skenario di mana sesuatu seperti: "pengguna ingin terhubung ke iis Anda dengan ...."
Royi Namir

Ini adalah metode untuk aplikasi untuk bekerja berdampingan dengan IIS. Jika mendaftar untuk awalan URL, aplikasi akan mendapatkan semua permintaannya secara langsung dan tidak melalui IIS, artinya tidak perlu ditulis sebagai perpanjangan dari IIS, atau Anda bahkan perlu menginstal IIS (ini dalam teori - saya tidak tahu t tahu seberapa baik dalam praktek http.sys independen dari IIS).
harrymc
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.