Utilitas baris perintah sederhana namun praktis yang memungkinkan pengembang .NET untuk menguji aplikasi web yang dilayani oleh IIS Express pada perangkat jarak jauh.
Apakah Anda seorang pengembang .NET Membangun Aplikasi Web Seluler? Pernahkah Anda frustrasi dengan fakta bahwa tidak ada cara mudah untuk memungkinkan IIS Express menerima koneksi dari perangkat jarak jauh? ...
Tidak perlu menginstal iisexpress-proxy jika Anda menggunakan npm@^5.2.0 ; Anda cukup menjalankannya dengan npx . Jika Anda menggunakan npm versi yang lebih lama, kemungkinan besar Anda ingin iisexpress-proxy diinstal sebagai modul global:
npm install -g iisexpress-proxyCatatan: Anda harus menginstal Node.js.
Jika Anda menggunakan npm@^5.2.0 :
npx iisexpress-proxy@latest localPort to proxyPort Atau, jika Anda menginstal IISEXPress-Proxy sebagai modul npm global:
iisexpress-proxy localPort to proxyPortMisalnya, jika port IIS Express aplikasi Anda adalah 51123, jalankan ini di prompt perintah:
iisexpress-proxy 51123 to 3000
Program ini akan mencantumkan alamat eksternal yang dapat Anda gunakan untuk menguji aplikasi Anda pada perangkat jarak jauh.
iisexpress-proxy default ke HTTP, jadi jika aplikasi Anda menjalankan HTTPS, maka sertakan URL lengkap.
iisexpress-proxy https://localhost:51123 to 3000 Perhatikan bahwa ini akan mengakhiri https. Pada mesin tujuan Anda, sambungkan ke port 3000 menggunakan http, bukan https.
Jika Anda ingin proxy itu sendiri melayani HTTPS, Anda dapat menentukan target dengan URL lengkap juga.
iisexpress-proxy https://localhost:51123 to https:// * :3000 Ini akan menghasilkan sertifikat yang ditandatangani sendiri dan menggunakannya, OpenSSL harus berada di PATH untuk bekerja.
Jika Anda berada di Windows, cara termudah untuk mendapatkan OpenSSL adalah dengan menggunakan Git Bash yang menyertainya yang sudah diinstal sebelumnya.
Jika Anda ingin mengikat antarmuka tertentu alih -alih semuanya, gunakan IP di URL target, misalnya https://10.0.0.1:3000 . Perhatikan bahwa bagian kanan tidak bisa menjadi nama domain.
Anda juga dapat menggunakan IISEXPress-Proxy untuk mengekspos instance server IIS yang berjalan pada host yang berbeda yang dapat diakses melalui VPN, seperti ini:
iisexpress-proxy host:port to proxyHost:proxyPortMisalnya, mari kita patuh skenario ini:
Dengan menjalankan ini di prompt perintah:
iisexpress-proxy 192.168.96.3:5000 to 192.168.0.102:3000... Anda akan dapat mengakses aplikasi dengan mengarahkan perangkat seluler ke 192.168.0.102:3000.
Untuk contoh lanjutan lainnya, pertimbangkan bahwa Anda berada di WiFi publik dan tidak ingin mengekspos server dev Anda secara terbuka. Anda dapat mengatur VPN antara laptop Anda dan ponsel Anda dan hanya mengekspos server pada antarmuka VPN (10.0.0.1). Maka Anda bisa berlari
iisexpress-proxy 5000 to 10.0.0.1:8080... dan buka http://10.0.0.1:8080 di ponsel Anda dengan VPN diaktifkan, sementara pengguna WiFi lainnya tidak akan dapat terhubung.
Catatan: Fungsi ini ditambahkan di v1.1.0 (dirilis 10/21/2015) .
Dukungan Websocket ditambahkan di v1.4.0 oleh Stan Hebben - lihat PR #11 untuk detailnya.
Jika Anda tidak ingin menggunakan sertifikat yang dihasilkan, Anda dapat memberikan sertifikat dan kunci Anda sendiri menggunakan argumen cert / key :
iisexpress-proxy https://localhost:51123 to https:// * :3000 --key=./your-key.pem --cert=./your-cert.pemCatatan: Fungsi ini ditambahkan di v1.7.0 (dirilis 02/14/2022) .
iisexpress-proxy tidak berfungsi dalam skenario yang melibatkan otentikasi Windows terintegrasi (lihat masalah #mana pun).
Ini memproksikan lalu lintas HTTP di localPort ke proxyPort pada semua antarmuka jaringan yang tersedia dan juga mengubah asal header host, memungkinkan Anda untuk menguji aplikasi web yang di -host oleh IIS Express di berbagai perangkat jarak jauh (perangkat seluler, desktop lain, dll.).
Jika Anda perlu mengakses host asli yang diminta oleh browser, header permintaan akan menyertakan header X-Forward. Di ASP.NET, Request.Headers["x-forwarded-host"] akan berisi host yang diminta.
Utilitas baris perintah ini membungkus http-proxy. Logo HTTP-Proxy asli dibuat oleh Diego Pasqui.
Jika Anda menemukan repo ini berguna, tolong beri bintang, tweet tentang itu dan mendukung saya di LinkedIn:
Saya mendapatkan banyak pertanyaan dari orang yang hanya belajar melakukan pengembangan web atau hanya ingin menyelesaikan masalah yang sangat spesifik yang mereka hadapi. Sementara saya akan menjawab beberapa dari mereka untuk kepentingan komunitas, harap dipahami bahwa open-source adalah upaya bersama dan jelas bukan tentang membonceng pekerjaan orang lain. Di tempat -tempat seperti GitHub, itu berarti mengangkat masalah didorong, tetapi menghasilkan PR yang bermanfaat jauh lebih baik. Jika saya bersedia membagikan beberapa kode saya secara gratis, saya melakukannya karena sejumlah alasan: tantangan intelektual saya sendiri, kebanggaan, kesombongan, keras kepala untuk percaya bahwa saya membawa kontribusi untuk kemajuan dan kebebasan bersama, dll. Kesejahteraan khusus Anda mungkin bukan salah satu alasan itu. Saya tidak dalam bisnis memberikan konsultasi gratis, jadi jika Anda membutuhkan bantuan saya untuk menyelesaikan masalah spesifik Anda, ada biaya untuk itu.
Pada 24 Februari 2022 Rusia secara tidak sah menyerbu Ukraina. Ini adalah serangan yang tidak dapat dibenarkan dan tidak diprovokasi terhadap kedaulatan negara tetangga, tetapi juga penghinaan terbuka terhadap perdamaian dan stabilitas internasional yang berpotensi merosot menjadi peristiwa nuklir yang mengancam keberadaan kemanusiaan. Saya seorang warga negara Rumania (UE), tetapi saya berdiri dengan Ukraina dan saya melakukan segala daya saya untuk menghentikan kegilaan ini. Inilah cara Anda dapat menunjukkan dukungan Anda.
Lisensi ISC.