Affichage des articles dont le libellé est PowerShell. Afficher tous les articles
Affichage des articles dont le libellé est PowerShell. Afficher tous les articles

IdentityServer4 Client Angular comment passer de Http à Https

Comment installer mon application Angular CLI derrière https au lieu http ? Je trouve la solution en compilant les informations qui sont dans les deux pages suivantes :

Running Angular CLI over HTTPS with a Trusted Certificate

Using Angular CLI to serve over https locally

Mais je trouve que ces deux pages sont incomplètes toutes les deux. Du coup j'ai envie de prendre quelques notes supplémentaires.

Avec OpenSSL on génère le Certificat server.crt et la Clef server.key. J'exécute le bash suivant :

Génération du Certificat et de la Clef associée
Génération du Certificat et de la Clef associée pour servir Angular derrière Https

Avec PowerShell, j'exécute le bash generate.sh voici le fichier generate.sh 

#!bin/bash

openssl req \
    -newkey rsa:2048 \
    -x509 \
    -nodes \
    -keyout server.key \
    -new \
    -out server.crt \
    -config ./openssl-custom.cnf \
    -sha256 \
    -days 365

Voici le fichier openssl-custom.cnf :

[req]
default_bits = 2048
prompt = no
default_md = sha256
x509_extensions = v3_req
distinguished_name = dn

[dn]
C = US
ST = KS
L = Olathe
O = IT
OU = IT Department
emailAddress = webmaster@example.com
CN = localhost

[v3_req]
subjectAltName = @alt_names

[alt_names]
DNS.1 = *.localhost
DNS.2 = localhost

Que vous devez mettre à votre propre sauce.

Ensuite, On l'installe le certificat sur le serveur IIS, en double cliquant sur le fichier serveur.crt de la façon suivante :

Génération du Certificat et de la Clef associée pour servir Angular derrière Https
Angular & Https 

Il faut installer le Certificat dans le bon "entrepôt" dans Trusted Root Certificat Authorities

Génération du Certificat et de la Clef associée pour servir Angular derrière Https
Génération du Certificat et de la Clef associée pour servir Angular derrière Https

Dans l'application Angular, créer un répertoire "ssl" sous la racine de l'application, placer le certif et la clef dans ce répertoire.

On installe la commande pour servir l’application à l'adresse https://localhost:4200/

\Samples\AngularASPNETCoreOAuthApp\AngularASPNETCoreOAuth\src\Spa\oauth-client\package.json

{
  "name": "oauth-client",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve --ssl --ssl-key .\\ssl\\server.key  --ssl-cert .\\ssl\\server.crt",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },

ssl
ssl\server.key
ssl\server.crt

Pour lancer mon application Angular, depuis Visual Studio Code la commande est maintenant :

>npm start

Mon application Angular et mon serveur IndentityServer4 derrière Https

Et voici le petit cadenas qui montre bien que mon application Angular se trouve maintenant derrière une adresse Https.

Ce post vous a aidé dans votre pratique professionnelle, n'hésitez pas laisser votre commentaire.

Pour en lire plus sur la Certification Https :

ODL - Comment passer mon site en https ?

Les Machines Virtuelles dans l'Azure Cloud avec PowerShell

Comment gérer, connecter et installer vos Machines Virtuelles dans l'Azure Cloud ? Parce que ce n'est pas si facile, je prends quelques notes dans ce post. Je souhaite créer une Machine Virtuelle dans l'Azure Cloud y accéder pour installer des applications web.

Documentation sur les machines virtuelles Windows
Créer une machine virtuelle Windows dans Azure avec PowerShell.

Pour ouvrir la fenêtre de commande Azure Cloud Shell c'est Ici :

Ouvrir la fenêtre de commande Azure Cloud Shell (PowerShell)
Ouvrir la fenêtre de commande Azure Cloud Shell (PowerShell)

La fenêtre suivante s'ouvre :
Bash ou PowerShell
Bash ou PowerShell

Personnellement, je choisie "PowerShell" :

Pas de stockage - Créer un stockage
Pas de stockage - Créer un stockage

Bon bas je clique sur "Créer un stockage" ... Il se passe un peu de temps et puis :
Le prompt du Power Shell dans l'Azure
Me voilà avec le Prompt du Power Shell dans l'Azure prêt à lancer des commandes. Alors c'est vraiment très puissant parce que l'on à vu que l'on pouvait créer une machine virtuelle y installer le web serveur IIS.

Démarrage rapide : créer une machine virtuelle Windows dans Azure avec PowerShell

Ouverture d'une Session RDP sur la Machine Virtuelle
En suite, pour installer IIS sur cette machine, dans la fenêtre PowerShell de la machine, j'exécute les commandes suivantes :


Installation du Serveur Web IIS sur la Machine Virtuelle Crée
Installation du Serveur Web IIS sur la Machine Virtuelle Crée
Pour tester l'installation d'IIS sur la Machine Virtuelle, j'y accède par un navigateur :


Accès au serveur IIS fraichement installé sur la Machine Virtuelle
Accès au serveur IIS fraichement installé sur la Machine Virtuelle
A la fin on peut même se payer le luxe de tout supprimer étant donné que l'on a rien installé de particulier et que le tout à pris à peine quelques minutes.

> Remove-AzureRmResourceGroup -Name myResourceGroup

Conclusion

Voilà comment à l'aide de mon Tableau de bord Azure Cloud j'ai créé une machine virtuelle à l'aide d'un script PowerShell. Je m'y suis connecté pour installer un Web Serveur IIS à l'aide d'un script PowerShell également. J'ai vérifié l'installation et la réponse aux requête web de ce serveur IIS.

L'Azure Cloud c'est vraiment magique !