Saya sedang mengembangkan proyek di VS2010 dan dapat melihat situs saya secara lokal melalui IIS Express. Saya ingin mengaktifkan akses eksternal melalui jaringan.
Semua penelitian saya telah mengirim saya ke entri blog ini: http://blogs.iis.net/vaidyg/archive/2010/07/29/serving-external-traffic-with-webmatrix-beta.aspx , yang berguna tetapi tidak tampaknya tidak menunjukkan cara mengkonfigurasi binding untuk proyek yang dimulai di studio visual (saya tidak dapat menemukan layar di screenshot, dan saya telah mengedit info binding di applicationhost.config, tetapi sepertinya tidak tercermin saat saya menjalankan situs dari Studio visual).
Jawaban:
1 Setelah mengedit file applicationhost.config (terletak di folder IISExpress di dokumen Anda), pengikatan situs Anda akan terlihat seperti di bawah ini:
Binding terdiri dari tiga bagian. Pertama alamat atau daftar IP, atau seperti dalam kasus ini, karakter pengganti. Kedua nomor port, dan ketiga nama host, atau daftar, atau karakter pengganti (untuk memfilter menurut
Host
header). Untuk tujuan pengembangan, wildcard paling cocok di sini karena Anda kemungkinan besar akan menggunakan port unik.2 Karena Anda menggunakan pengikatan non-localhost, diperlukan izin tambahan. Anda dapat menjalankan VS sebagai administrator, atau sebaiknya Anda menambahkan ACL URL untuk memberikan izin yang diperlukan. Pada contoh di bawah, izin diberikan kepada semua orang, tetapi Anda dapat menggunakan nama pengguna Anda sendiri.
Catatan: The
urlacl
keharusan persis dengan mengikat. Jadiurlacl
forhttp://*:8080
akan memungkinkan pengikatan*:8080:*
, tetapi bukan pengikatan*:8080:localhost
meskipun yang terakhir adalah bagian dari yang sebelumnya. ini berarti jika, alih-alih menggunakan karakter pengganti, Anda mencantumkan header hostapplicationhost.config
, Anda harus menambahkan yang cocokurlacl
untuk masing-masing.Catatan 2 Jika menjalankan VS sebagai administrator atau menambahkan entri ACL tidak menyelesaikan masalah Anda, jalankan IIS Express dari baris perintah dan periksa apakah ada pesan kegagalan pendaftaran yang mengikat. Untuk memulai dari baris perintah, berikan perintah ini:
3 Terakhir, Anda memerlukan entri firewall yang sesuai. Untuk ini, paling mudah menggunakan konsol "Windows Firewall dengan Keamanan Lanjutan".
Di bawah "Inbound Rules", pilih "New Rule ...".
40000-65534
yang mencakup seluruh rentang yang digunakan oleh Visual Studio, tetapi perlu diketahui ini kurang aman).sumber
C:\<Path\To\Solution>\.vs\config\applicationhost.config
. (Terima kasih, @Talon)Saya menghabiskan waktu berjam-jam untuk masalah ini juga, mencoba menelusuri dari Android Xoom saya ke mesin win7 dev saya, sehingga saya dapat menguji aplikasi web asp.net baru yang saya buat. Yang saya lakukan hanyalah mengubah applicationhost.config IISExpress dari menggunakan PC HostName ke alamat IP PC saat ini, untuk situs baru saya.
untuk
Setelah saya melakukan ini & memulai kembali IISExpress ... Saya dapat menjelajahi mesin dev-Lee saya & melihat aplikasi saya dari Xoom saya!
sumber
Kita dapat menambahkan beberapa alamat pengikatan dengan mengedit applicationhost.config dari IIS Express
Sekarang kita bisa mengakses situs web dari LAN menggunakan alamat IP.
Mengakses situs lokal dari Lan menggunakan IIS Express
sumber
Visual Studio 2013 SP1 dan yang lebih baru (2015) menyertakan pengaturan "Terapkan pengaturan server untuk semua pengguna (simpan dalam file proyek)". Ini diaktifkan secara default. Saat diaktifkan Visual Studio meluncurkan IIS Express dengan argumen baris perintah yang membuatnya menggunakan file konfigurasi yang berbeda. Lokasi file 'applicationhost.config' berada di bawah direktori proyek di '.vs \ config'.
sumber
Kami membuat ekstensi VS (2012, 2013, 2015) gratis bernama Conveyor yang memungkinkan hal ini - Anda dapat menemukannya melalui menu Alat-> Ekstensi ... di VS atau di situs galeri https://visualstudiogallery.msdn.microsoft. com / a429dbb7-a982-4541-b401-934375c02c0f? SRC = Beranda
sumber
Jika Anda bekerja dengan Visual Studio, ikuti langkah-langkah berikut untuk mengakses IIS-Express melalui IP-Adress:
ipconfig
di Command Line Windows<site name="WebApplication3" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\Users\user.name\Source\Repos\protoype-one\WebApplication3" /> </application> <bindings> <binding protocol="http" bindingInformation="*:62549:localhost" /> </bindings> </site>
<binding protocol="http" bindingInformation="*:62549:192.168.178.108"/>
dengan Alamat IP Anda
Petunjuknya adalah, Visual Studio memiliki file applicationHost.confignya sendiri!
sumber
Saya mengalami banyak masalah membuat ini berfungsi dari visual studio 2012, saya beralih dari kesalahan 404 menjadi kesalahan 503. Akhirnya apa yang berhasil bagi saya, adalah menghapus semua konfigurasi terkait di konfigurasi IIS Express ...
Kemudian saya membuat direktori virtual baru dari halaman properti di proyek web saya di VS tetapi sebelum saya membuat direktori virtual saya mengubah nama host menjadi http: // myhost: 80 / lalu tekan tombol buat direktori virtual. Sebelumnya saya mendapatkan kesalahan yang mengatakan nama host harus 'localhost' tetapi kali ini tidak. Dan setelah itu, itu berhasil.
Singkatnya, kosongkan konfigurasi yang ada terlebih dahulu dan mulai lagi.
sumber
Jika domain eksternal Anda adalah "name.mydyndns.com", maka Anda perlu menulis:
Ini bekerja pada Windows 2003 Server dan IIS 7.5 Express.
sumber
di pool aplikasi di IIS, setel "Enable 32-Bit Applications" menjadi "true".
sumber