Un utilitaire de ligne de commande simple mais pratique permettant aux développeurs .NET de tester les applications Web desservies par IIS Express sur des appareils distants.
Êtes-vous un développeur .NET créant des applications Web mobiles? Avez-vous déjà été frustré par le fait qu'il n'y a pas de moyen facile de permettre à IIS Express d'accepter les connexions à partir d'appareils distants? ...
Il n'est pas nécessaire d'installer iisexpress-proxy si vous utilisez npm@^5.2.0 ; Vous pouvez simplement l'exécuter avec npx . Si vous utilisez une ancienne version de npm , vous voudrez probablement que iisexpress-proxy soit installé en tant que module global:
npm install -g iisexpress-proxyRemarque: vous devez installer Node.js.
Si vous utilisez npm@^5.2.0 :
npx iisexpress-proxy@latest localPort to proxyPort Alternativement, si vous avez installé iisexpress-proxy en tant que module npm global:
iisexpress-proxy localPort to proxyPortPar exemple, si le port IIS Express de votre application est 51123, exécutez-le dans l'invite de commande:
iisexpress-proxy 51123 to 3000
Le programme répertorie les adresses externes que vous pouvez utiliser pour tester votre application sur des appareils distants.
iisexpress-proxy par défaut est par défaut, donc si votre application exécute HTTPS, incluez l'URL complète.
iisexpress-proxy https://localhost:51123 to 3000 Notez que cela prendra fin HTTPS. Sur votre machine de destination, connectez-vous au port 3000 en utilisant HTTP, pas HTTPS.
Si vous souhaitez que le proxy lui-même serve HTTPS, vous pouvez également spécifier la cible avec l'URL complète.
iisexpress-proxy https://localhost:51123 to https:// * :3000 Cela générera un certificat auto-signé et l'utilisera, OpenSSL doit être en PATH pour que cela fonctionne.
Si vous êtes sous Windows, le moyen le plus simple d'OpenSSL est d'utiliser Git Bash qui l'accompagne pré-installée.
Si vous souhaitez vous lier à une interface spécifique au lieu de toutes, utilisez son IP dans l'URL cible, par exemple https://10.0.0.1:3000 . Notez que la partie droite ne peut pas être un nom de domaine.
Vous pouvez également utiliser iisexpress-proxy pour exposer une instance de serveur IIS exécutant sur un hôte différent accessible via VPN, comme ceci:
iisexpress-proxy host:port to proxyHost:proxyPortPar exemple, considérons ce scénario:
En exécutant cela dans l'invite de commande:
iisexpress-proxy 192.168.96.3:5000 to 192.168.0.102:3000... Vous pourrez accéder à l'application en pointant les appareils mobiles vers 192.168.0.102:3000.
Pour un autre exemple avancé, considérez que vous êtes sur le WiFi public et que vous ne souhaitez pas exposer publiquement votre serveur de développement. Vous pouvez configurer un VPN entre votre ordinateur portable et votre téléphone et exposer uniquement le serveur sur l'interface VPN (10.0.0.1). Alors tu peux courir
iisexpress-proxy 5000 to 10.0.0.1:8080... et ouvrez http://10.0.0.1:8080 sur votre téléphone avec VPN activé, tandis que d'autres utilisateurs WiFi ne pourront pas se connecter.
Remarque: Cette fonctionnalité a été ajoutée à V1.1.0 (publiée le 21/10/2015) .
La prise en charge de WebSocket a été ajoutée dans v1.4.0 par Stan Hebben - Voir PR # 11 pour plus de détails.
Si vous ne souhaitez pas utiliser de certificats générés, vous pouvez fournir votre propre certificat et clé en utilisant des arguments cert / key :
iisexpress-proxy https://localhost:51123 to https:// * :3000 --key=./your-key.pem --cert=./your-cert.pemRemarque: Cette fonctionnalité a été ajoutée à V1.7.0 (publiée 14/02/2022) .
iisexpress-proxy ne fonctionne pas dans des scénarios impliquant une authentification Windows intégrée (voir le numéro #here).
Il s'agit de proxyer le trafic HTTP sur localPort pour proxyPort sur toutes les interfaces réseau disponibles et il modifie également l'origine de l'en-tête hôte, vous permettant de tester les applications Web hébergées par IIS Express sur divers appareils distants (appareils mobiles, autres ordinateurs de bureau, etc.).
Si vous devez accéder à l'hôte d'origine demandée par le navigateur, les en-têtes de demande incluront des en-têtes X-Forward. Dans ASP.NET, Request.Headers["x-forwarded-host"] contiendra l'hôte demandé.
Cet utilitaire de ligne de commande enveloppe HTTP-Proxy. Le logo HTTP-Proxy original a été créé par Diego Pasquali.
Si vous trouvez ce dépôt utile, veuillez lui donner une étoile, tweeter à ce sujet et me faire approuver sur LinkedIn:
Je reçois beaucoup de questions des gens qui apprennent à faire du développement Web ou je cherche simplement à résoudre un problème très spécifique avec lequel ils ont affaire. Bien que je réponde à certains d'entre eux au profit de la communauté, veuillez comprendre que la source ouverte est un effort partagé et qu'il ne s'agit certainement pas de se reproduire sur le travail des autres. Dans des endroits comme Github, cela signifie que la résolution de problèmes est encouragée, mais proposer des PR utiles, c'est bien mieux. Si je suis prêt à partager gratuitement une partie de mon code, je le fais pour plusieurs raisons: mes propres défis intellectuels, mon fierté, mon arrogance, mon entêtement de croire que j'apporte une contribution aux progrès et à la liberté communs, etc. Votre bien-être particulier n'est probablement pas l'une de ces raisons. Je ne suis pas en train de fournir des conseils gratuits, donc si vous avez besoin de mon aide pour résoudre votre problème spécifique, il y a des frais pour cela.
Le 24 février 2022, la Russie a illégalement envahi l'Ukraine. Il s'agit d'une attaque injustifiée et non provoquée contre la souveraineté d'un pays voisin, mais aussi un affront ouvert à la paix et à la stabilité internationales qui ont le potentiel de dégénérer en un événement nucléaire menaçant l'existence même de l'humanité. Je suis citoyen roumain (UE), mais je suis avec l'Ukraine et je fais tout ce qui est en mon pouvoir pour arrêter cette folie. Voici comment vous pouvez montrer votre soutien.
La licence ISC.