1
00:00:00,000 --> 00:00:04,781
[MUSIC]

2
00:00:04,781 --> 00:00:09,377
Dans la conférence précédente, nous avons appris sur HTTPS et comment ils peuvent assurer

3
00:00:09,377 --> 00:00:13,141
une communication sécurisée entre le client et le serveur.

4
00:00:13,141 --> 00:00:17,960
Nous avons également appris un peu sur la cryptographie,

5
00:00:17,960 --> 00:00:21,700
assez pour comprendre comment HTTPS fonctionne.

6
00:00:21,700 --> 00:00:24,800
Pour que nous puissions configurer notre serveur HTTP,

7
00:00:24,800 --> 00:00:28,500
nous devons obtenir une clé publique et un certificat.

8
00:00:28,500 --> 00:00:34,650
Nous allons maintenant configurer notre serveur Confusion pour utiliser HTTPS dans cet exercice.

9
00:00:34,650 --> 00:00:38,940
Donc, continuons de l'avant, d'abord pour générer la clé et

10
00:00:38,940 --> 00:00:42,130
le certificat que nous pouvons utiliser pour notre serveur

11
00:00:42,130 --> 00:00:47,240
, puis modifier notre application express pour prendre en charge HTTPS.

12
00:00:49,060 --> 00:00:53,310
Pour commencer cet exercice, accédez au dossier du serveur Confusion.

13
00:00:53,310 --> 00:00:57,230
Et puis dans votre terminal ou fenêtre de commande

14
00:00:57,230 --> 00:01:02,200
, puis allez dans le dossier bin à l'intérieur du dossier serveur Confusion.

15
00:01:02,200 --> 00:01:05,440
Et dans le dossier bin, vous verrez un fichier nommé www.

16
00:01:05,440 --> 00:01:09,520
C' est le dossier où nous allons générer notre clé privée et

17
00:01:09,520 --> 00:01:12,310
ensuite aussi générer le certificat pour

18
00:01:12,310 --> 00:01:18,840
notre serveur HTTPS en utilisant un outil de ligne de commande appelé OpenSSL.

19
00:01:18,840 --> 00:01:24,320
Maintenant, OpenSSL est généralement installé sur les machines Mac OS par défaut.

20
00:01:24,320 --> 00:01:31,030
Pour les machines Windows, vous devrez peut-être télécharger et installer OpenSSL de manière explicite.

21
00:01:31,030 --> 00:01:35,780
Maintenant, j'ai fourni quelques liens dans les instructions pour que vous puissiez aller

22
00:01:35,780 --> 00:01:37,550
chercher OpenSSL.

23
00:01:37,550 --> 00:01:41,897
Je vous ai également fourni un site Web où vous pouvez générer une

24
00:01:41,897 --> 00:01:43,430
clé privée auto-signée et un certificat.

25
00:01:43,430 --> 00:01:44,960
Alors allons-y jeter un coup d'oeil à ça.

26
00:01:45,960 --> 00:01:49,440
Si vous exécutez un ordinateur Windows et

27
00:01:49,440 --> 00:01:52,080
si OpenSSL n'est pas déjà installé.

28
00:01:52,080 --> 00:01:56,120
Ensuite, ce lien fournit des binaires pour

29
00:01:56,120 --> 00:02:00,300
OpenSSL que vous pouvez télécharger et installer sur votre ordinateur Windows.

30
00:02:00,300 --> 00:02:06,050
Donc, ce lien est fourni dans les instructions pour cet exercice.

31
00:02:06,050 --> 00:02:08,720
Donc, en allant là-bas,

32
00:02:08,720 --> 00:02:14,145
vous trouverez plusieurs téléchargements de

33
00:02:14,145 --> 00:02:19,742
distributions liées à OpenSSL tierces que vous pouvez télécharger et installer sur votre ordinateur.

34
00:02:19,742 --> 00:02:24,730
Installez donc l'un d'entre eux afin

35
00:02:24,730 --> 00:02:29,030
de poursuivre cet exercice si vous n'avez pas OpenSSL déjà sur votre machine.

36
00:02:30,200 --> 00:02:35,330
Maintenant, aussi si vous voulez une autre façon de

37
00:02:36,410 --> 00:02:40,410
générer votre clé privée et votre certificat.

38
00:02:40,410 --> 00:02:45,240
Voici un article de blog, un lien vers lequel j'ai déjà fourni dans les instructions,

39
00:02:45,240 --> 00:02:49,990
qui explique également comment configurer votre machine Windows avec

40
00:02:51,410 --> 00:02:55,990
OpenSSL et aussi générer la clé privée et le certificat.

41
00:02:55,990 --> 00:03:01,140
Suivez donc ces étapes pour configurer votre ordinateur Windows pour

42
00:03:01,140 --> 00:03:05,330
générer la clé privée et le certificat.

43
00:03:05,330 --> 00:03:09,960
Maintenant, si vous ne voulez pas installer OpenSSL, voici un lien

44
00:03:09,960 --> 00:03:14,610
vers un site qui vous permet d'

45
00:03:14,610 --> 00:03:19,420
y générer un certificat SSL auto-signé et une clé comme vous le voyez ici.

46
00:03:19,420 --> 00:03:22,900
Donc, un lien vers ce site est également fourni dans l'instruction.

47
00:03:22,900 --> 00:03:27,690
Vous pouvez donc utiliser le serveur pour générer le certificat SSL et la

48
00:03:27,690 --> 00:03:29,930
clé pour votre machine Windows.

49
00:03:29,930 --> 00:03:32,330
Ainsi, n'importe laquelle de ces approches peut être utilisée pour

50
00:03:32,330 --> 00:03:38,720
générer la clé privée et le certificat de votre machine Windows.

51
00:03:38,720 --> 00:03:41,320
Puisque je suis en cours d'exécution sur une machine OSX,

52
00:03:41,320 --> 00:03:47,580
je vais générer ma clé privée et mon certificat en utilisant OpenSSL.

53
00:03:47,580 --> 00:03:52,858
Donc, en allant au terminal, laissez-moi taper openssl genrsa

54
00:03:52,858 --> 00:03:59,249
1024, ce qui signifie que je vais générer une clé privée de taille 1024.

55
00:03:59,249 --> 00:04:04,400
Donc, je vais mettre cela dans un fichier nommé clé privée, et

56
00:04:04,400 --> 00:04:10,590
une fois cela généré, alors nous allons générer le fichier cert.csr correspondant

57
00:04:10,590 --> 00:04:16,340
donc il dira openssl req requête.

58
00:04:16,340 --> 00:04:21,398
Donc, nous demandons un nouveau certificat,

59
00:04:21,398 --> 00:04:27,839
avec la clé private.key, et cela va générer cela.

60
00:04:32,283 --> 00:04:35,530
Cert.csr ici.

61
00:04:35,530 --> 00:04:40,440
Maintenant, lorsque vous générez le cert.csr, il

62
00:04:40,440 --> 00:04:42,378
vous posera quelques questions à remplir.

63
00:04:42,378 --> 00:04:44,700
Vous pouvez accepter les valeurs par défaut ou

64
00:04:44,700 --> 00:04:48,400
vous pouvez remplir vos propres valeurs si vous le souhaitez.

65
00:04:48,400 --> 00:04:52,120
Cela n'a pas vraiment d'importance parce que ce certificat que nous utilisons uniquement dans notre

66
00:04:52,120 --> 00:04:55,730
ordinateur pour tester notre serveur HTTPS.

67
00:04:55,730 --> 00:04:58,156
Alors, laissez-moi vous donner quelques détails.

68
00:05:02,293 --> 00:05:06,286
Je vais laisser quelques choses vides là-bas.

69
00:05:06,286 --> 00:05:09,380
Et cela fonctionnerait très bien,

70
00:05:09,380 --> 00:05:13,900
peu importe que vous remplissiez ces informations ou non.

71
00:05:13,900 --> 00:05:19,679
Donc, une fois que vous faites, votre cert.csr est généré et

72
00:05:19,679 --> 00:05:26,834
à partir de cela, ils vont générer le certificat de distribution, donc

73
00:05:26,834 --> 00:05:31,651
nous allons taper à l'invite de commande

74
00:05:31,651 --> 00:05:37,295
openssl x509 -req -in cert.csr -signkey

75
00:05:37,295 --> 00:05:42,134
private.key -out certificate.pem.

76
00:05:42,134 --> 00:05:47,052
Donc, cela va générer le certificat pour

77
00:05:47,052 --> 00:05:52,111
nous, et donc une fois que vous

78
00:05:52,111 --> 00:05:55,623
aurez terminé ces étapes, lorsque vous regardez votre dossier,

79
00:05:55,623 --> 00:06:00,961
vous verrez que vous avez le private.key,

80
00:06:00,961 --> 00:06:07,255
le cert.csr et certificate.pem là-dedans.

81
00:06:07,255 --> 00:06:11,205
Cela sera nécessaire pour configurer notre serveur HTTPS.

82
00:06:11,205 --> 00:06:17,375
Donc, maintenant pour configurer le serveur HTTPS, allons dans notre éditeur.

83
00:06:17,375 --> 00:06:21,755
Dans l'éditeur, nous allons aller à ce dossier bin ici.

84
00:06:21,755 --> 00:06:25,135
Et dans le dossier bin, vous verrez ce fichier appelé www.

85
00:06:25,135 --> 00:06:30,550
Nous avons brièvement examiné ce dossier dans l'un des exercices précédents.

86
00:06:30,550 --> 00:06:36,296
Maintenant, en entrant dans ce fichier, nous allons maintenant

87
00:06:36,296 --> 00:06:41,704
importer également le module de base HTTPS donc

88
00:06:41,704 --> 00:06:49,776
nous dirons que HTTPS nécessite HTTPS Et

89
00:06:49,776 --> 00:06:53,010
nous aurons également besoin du module de système de fichiers.

90
00:06:53,010 --> 00:06:57,160
Vous avez déjà rencontré le module de système de fichiers plus tôt

91
00:06:57,160 --> 00:06:58,560
dans l'un des exercices.

92
00:06:58,560 --> 00:07:01,440
Donc, nous allons importer ces deux.

93
00:07:01,440 --> 00:07:07,180
Et puis, en descendant ici, nous allons configurer le numéro de port sur lequel notre

94
00:07:07,180 --> 00:07:13,200
serveur HTTPS fonctionnera, donc nous allons dire app.set et

95
00:07:13,200 --> 00:07:17,160
nous allons dire SecPort.

96
00:07:17,160 --> 00:07:22,370
Donc, nous allons mettre en place une variable ici appelée port sécurisé

97
00:07:22,370 --> 00:07:26,890
, puis je vais initialiser ceci au port+443.

98
00:07:26,890 --> 00:07:29,998
Maintenant, pourquoi est-ce que j'utilise ce port+443 ?

99
00:07:29,998 --> 00:07:35,881
Dans un serveur standard, si votre serveur agit en tant que serveur Web,

100
00:07:35,881 --> 00:07:42,890
votre protocole HTTP sera exécuté au port numéro 80 de votre serveur.

101
00:07:42,890 --> 00:07:47,049
Et le HTTP sécurisé fonctionnera sur le port numéro 443.

102
00:07:48,090 --> 00:07:54,070
Maintenant, vous ne voudriez normalement pas utiliser ces ports réservés

103
00:07:54,070 --> 00:08:00,170
dans une application de développement, mais nous le faisons dans ce cours.

104
00:08:00,170 --> 00:08:02,250
Au lieu de cela, comme vous l'avez vu précédemment,

105
00:08:02,250 --> 00:08:08,170
nous avions configuré notre numéro de port sur 3000 où notre serveur HTTP fonctionne.

106
00:08:08,170 --> 00:08:15,481
Donc, je vais exécuter le serveur HTTPS, au port numéro 3443.

107
00:08:15,481 --> 00:08:18,311
Alors 3000 plus 443.

108
00:08:18,311 --> 00:08:22,550
C' est la raison pour laquelle je déclare ce port sécurisé.

109
00:08:22,550 --> 00:08:30,748
Comme port+443, notre serveur HTTPS fonctionnera au numéro de port 443.

110
00:08:30,748 --> 00:08:35,296
Je vais toujours exécuter le serveur HTTP au port 3000,

111
00:08:35,296 --> 00:08:40,696
nous avons déjà créé le serveur HTTP ici dans le WWW, ou plutôt,

112
00:08:40,696 --> 00:08:46,220
cela est généré automatiquement par le générateur express.

113
00:08:46,220 --> 00:08:49,890
Maintenant, puisque le serveur HTTP est déjà configuré,

114
00:08:49,890 --> 00:08:54,290
nous allons maintenant configurer le serveur HTTPS.

115
00:08:55,810 --> 00:09:02,460
Donc, pour configurer le serveur HTTPS, juste après avoir configuré le serveur HTTP.

116
00:09:02,460 --> 00:09:06,410
Maintenant, la raison pour laquelle je vais toujours exécuter le serveur HTTP est que,

117
00:09:06,410 --> 00:09:12,120
si je reçois une requête sur le port du serveur HTTP,

118
00:09:12,120 --> 00:09:16,420
cette requête sera redirigée vers le serveur HTTPS.

119
00:09:16,420 --> 00:09:23,070
Donc, mon serveur ne fera que la demande de service entrant sur les ports HTTPS.

120
00:09:23,070 --> 00:09:27,750
Mais si par hasard quelqu'un accède au serveur sur le port HTTP,

121
00:09:27,750 --> 00:09:31,070
je redirigerai cette requête vers le port HTTPS.

122
00:09:31,070 --> 00:09:33,270
Nous le ferons un peu plus tard.

123
00:09:33,270 --> 00:09:36,316
Tout d'abord, nous allons configurer le serveur HTTPS.

124
00:09:36,316 --> 00:09:40,665
Donc, pour configurer le serveur HTTPS, ici,

125
00:09:40,665 --> 00:09:46,060
je vais déclarer quelques options ici pour mon serveur HTTPS.

126
00:09:46,060 --> 00:09:51,740
Rappelons maintenant que pour un serveur HTTPS, nous devons configurer la clé privée et

127
00:09:51,740 --> 00:09:56,670
le certificat que mon serveur HTTPS va utiliser.

128
00:09:56,670 --> 00:10:01,200
Donc, dans les options, je vais spécifier la clé,

129
00:10:01,200 --> 00:10:07,832
puis j'utiliserai le système de fichiers, puis je dirai, ReadFileSync.

130
00:10:09,340 --> 00:10:16,250
Donc, je vais lire ce fichier de manière synchrone afin que je termine la lecture dans le fichier

131
00:10:16,250 --> 00:10:21,290
avant de pouvoir configurer mon serveur HTTPS.

132
00:10:21,290 --> 00:10:25,862
Donc, je vais lire ce fichier à partir de __dirname.

133
00:10:25,862 --> 00:10:30,958
Vous savez déjà pourquoi j'utilise __dirname des

134
00:10:30,958 --> 00:10:36,710
exercices précédents où nous avons vu les cinq modules système utilisés.

135
00:10:36,710 --> 00:10:40,370
Et puis, donc je vais dire __dirname+.

136
00:10:40,370 --> 00:10:49,570
Donc, ici, nous fournissons le chemin vers le private.key.

137
00:10:49,570 --> 00:10:54,346
Maintenant, rappelez-vous que ce www est dans le dossier bin.

138
00:10:54,346 --> 00:10:57,710
Et le private.key est également dans le dossier bin, donc

139
00:10:57,710 --> 00:11:03,200
c'est pourquoi je vais dire dirname+ ceci, donc cela spécifiera

140
00:11:03,200 --> 00:11:08,170
au module de lecture du système de fichiers que le fichier doit être

141
00:11:08,170 --> 00:11:13,440
lu à partir de ce répertoire bin, à partir de ce fichier private.key ici.

142
00:11:14,730 --> 00:11:18,360
Maintenant aussi, nous allons lire dans le certificat ici.

143
00:11:18,360 --> 00:11:21,585
Donc, nous allons dire, cert FS.ReadFileSync.

144
00:11:21,585 --> 00:11:26,053
Donc, il va lire le fichier synchrone ce qui signifie que,

145
00:11:26,053 --> 00:11:33,050
le fichier sera lu complètement avant de passer à cette étape suivante ici.

146
00:11:33,050 --> 00:11:40,340
Et le fichier que nous devons lire est aussi __dirname+.

147
00:11:40,340 --> 00:11:47,865
Et nous dirons, /certificate.pem, que nous avons généré plus tôt.

148
00:11:51,407 --> 00:11:56,697
Et cela devrait être une virgule, et je ne devrais pas mettre un point-virgule là,

149
00:11:56,697 --> 00:12:02,740
car c'est un objet JavaScript que nous avons défini a les options.

150
00:12:02,740 --> 00:12:09,070
Donc, une fois que nous définissons l'objet JavaScript, puis nous allons configurer le serveur sécurisé.

151
00:12:09,070 --> 00:12:15,407
Donc, nous allons dire var SecureServer https.

152
00:12:15,407 --> 00:12:21,410
Rappelez-vous que, maintenant, nous allons utiliser https, puis nous dirons CreateServer.

153
00:12:21,410 --> 00:12:27,611
Rappelons donc que pour HTTP, nous avons configuré notre serveur comme celui-ci ici.

154
00:12:27,611 --> 00:12:32,540
Pour le serveur sécurisé, nous allons créer cela en disant,

155
00:12:32,540 --> 00:12:37,859
var SecureServer Https.CreateServer, puis nous allons fournir

156
00:12:37,859 --> 00:12:44,161
les options que nous venons de configurer et puis la deuxième partie est l'application ici.

157
00:12:44,161 --> 00:12:48,026
Donc, mon SecureServer va bien,

158
00:12:48,026 --> 00:12:54,410
va également être disponible pour mon application d'accéder.

159
00:12:54,410 --> 00:13:00,301
Maintenant en bas ici, je vais configurer

160
00:13:00,301 --> 00:13:06,044
le SecureServer.Listen sur le numéro de port,

161
00:13:11,990 --> 00:13:13,530
SecPort.

162
00:13:13,530 --> 00:13:17,950
Rappelons que nous avions fait ici un app.set SecPort, donc

163
00:13:17,950 --> 00:13:23,840
nous définissons cette valeur ici sur le numéro de port sécurisé.

164
00:13:23,840 --> 00:13:27,280
Et puis en bas ici, nous disons app.get.

165
00:13:27,280 --> 00:13:32,013
Donc, cela signifie que cette valeur que nous avons

166
00:13:32,013 --> 00:13:36,470
configurée plus tôt sera disponible

167
00:13:36,470 --> 00:13:41,205
pour nous pour configurer notre port d'écoute pour

168
00:13:41,205 --> 00:13:45,522
notre serveur, app.get SecPort,

169
00:13:45,522 --> 00:13:52,059
puis fournir la fonction de rappel ici.

170
00:13:55,029 --> 00:13:58,438
Et à l'intérieur de cette fonction de rappel, nous dirons,

171
00:14:03,514 --> 00:14:11,715
console.log Server écoute sur le port.

172
00:14:21,317 --> 00:14:26,931
Faisons l'écoute du serveur sécurisé sur le port

173
00:14:28,697 --> 00:14:32,448
Et puis, une fois que nous configurons le SecureServer,

174
00:14:32,448 --> 00:14:38,690
alors nous devons, Voir, SecureServer sur.

175
00:14:38,690 --> 00:14:45,170
Donc, si le SecureServer reçoit un événement d'erreur,

176
00:14:45,170 --> 00:14:51,790
alors nous aimerons que OnError, qui est configuré ci-dessous, gère cela.

177
00:14:51,790 --> 00:14:55,520
Et puis nous dirons, SecureServer.on.

178
00:14:59,786 --> 00:15:04,428
Écouter, donc si vous recevez l'événement d'écoute,

179
00:15:04,428 --> 00:15:07,950
alors nous appellerons le OnListening.

180
00:15:07,950 --> 00:15:11,100
Maintenant, où sont configurés OnError et OnListening ?

181
00:15:11,100 --> 00:15:14,830
Si vous descendez dans le code ici, en bas ici.

182
00:15:14,830 --> 00:15:20,920
Vous spécifiez ces deux fonctions que OnError fonction ici,

183
00:15:20,920 --> 00:15:24,540
puis la fonction OnListening ici.

184
00:15:24,540 --> 00:15:30,140
Nous allons donc utiliser ces deux fonctions pour configurer notre serveur ici.

185
00:15:30,140 --> 00:15:32,320
Donc, avec ces modifications,

186
00:15:32,320 --> 00:15:38,180
mon serveur est maintenant configuré pour exécuter également SecureServer au port numéro 443.

187
00:15:38,180 --> 00:15:44,290
Nous avons déjà configuré le serveur HTTP standard ici.

188
00:15:44,290 --> 00:15:51,860
Donc, une fois que nous avons fait ces deux, alors, notre prochaine mise à jour sera dans le fichier app.js.

189
00:15:51,860 --> 00:15:58,313
Donc, aller au fichier app.js Ce que je vais faire est de configurer ce

190
00:15:58,313 --> 00:16:04,729
serveur de sorte qu'il redirige tout trafic venant vers le port non sécurisé.

191
00:16:04,729 --> 00:16:09,780
C' est le numéro de port 3 000, il redirigera cette demande vers le port sécurisé.

192
00:16:09,780 --> 00:16:16,285
Donc, pour ce faire, laissez-moi mettre en place un middleware juste après que nous avons déclaré l'app.express.

193
00:16:16,285 --> 00:16:21,541
Donc, ici, nous allons dire, app.all, donc ce qui signifie, pour

194
00:16:21,541 --> 00:16:27,090
toutes les demandes, quel que soit le chemin dans la requête.

195
00:16:27,090 --> 00:16:33,118
Propre requête entrant, je vais rediriger cela vers,

196
00:16:35,885 --> 00:16:39,582
Donc nous allons dire rec, res, next, et

197
00:16:39,582 --> 00:16:44,156
la fonction de rappel étant définie ici.

198
00:16:44,156 --> 00:16:51,820
Et donc nous allons, Déclarer la fonction à l'intérieur ici.

199
00:16:51,820 --> 00:16:58,529
Et nous dirons, si req.secure.

200
00:16:58,529 --> 00:17:04,215
Donc, si la demande entrante est déjà une demande sécurisée,

201
00:17:04,215 --> 00:17:06,520
alors comment le savons-nous ?

202
00:17:06,520 --> 00:17:10,591
Si la requête entrante est déjà une requête sécurisée, alors l'

203
00:17:10,591 --> 00:17:15,020
objet requête portera cet indicateur appelé secure qui sera déjà défini sur true.

204
00:17:16,121 --> 00:17:19,410
Si la requête entrante n'est pas du tout un port sécurisé

205
00:17:19,410 --> 00:17:24,960
mais arrive au port non sécurisé, alors le write.secure ne sera pas défini.

206
00:17:24,960 --> 00:17:28,331
Donc, c'est ce dont je m'occupe.

207
00:17:28,331 --> 00:17:31,511
S' il arrive déjà au port sécurisé, je vais juste aller de l'avant

208
00:17:31,511 --> 00:17:35,110
sans rien faire parce qu'il arrive déjà au port sécurisé.

209
00:17:35,110 --> 00:17:38,514
Donc je peux dire simplement, ensuite.

210
00:17:39,586 --> 00:17:44,320
Sinon, alors nous dirons, revenez ensuite.

211
00:17:44,320 --> 00:17:48,678
Sinon, de sorte que le contraire se produira,

212
00:17:52,360 --> 00:17:55,780
Quand il vient au port non sécurisé.

213
00:17:55,780 --> 00:17:59,850
Donc, dans ce cas, je dirai res.redirect.

214
00:17:59,850 --> 00:18:03,920
Ainsi, la méthode de redirection est disponible,

215
00:18:03,920 --> 00:18:09,390
qui redirige la requête entrante vers une autre URL.

216
00:18:09,390 --> 00:18:15,960
Donc, je vais rediriger cette requête non sécurisée vers https ://.

217
00:18:15,960 --> 00:18:24,950
Donc, je redirige cette requête vers le nom req.host.

218
00:18:24,950 --> 00:18:27,720
Ainsi, la requête portera déjà le nom d'hôte.

219
00:18:27,720 --> 00:18:31,083
Donc, parce que cela arrive sur le même serveur, donc

220
00:18:31,083 --> 00:18:33,657
je redirige vers le même serveur.

221
00:18:33,657 --> 00:18:38,428
Et puis nous dirons +,

222
00:18:41,726 --> 00:18:44,860
; + app.get.

223
00:18:44,860 --> 00:18:52,468
Rappelons maintenant que nous avions déjà configuré le port sécurisé dans l'app.get there.

224
00:18:52,468 --> 00:19:00,861
Donc, nous allons dire app.get SecPort + req.url.

225
00:19:00,861 --> 00:19:05,757
Maintenant, ce req.url contiendra le reste du chemin à l'

226
00:19:05,757 --> 00:19:10,080
exception du nom d'hôte et du numéro de port.

227
00:19:10,080 --> 00:19:12,943
Donc, si vous dites un localhost:3000,

228
00:19:12,943 --> 00:19:17,685
ce localhost:3000 sera couvert par la première partie et

229
00:19:17,685 --> 00:19:24,110
cela sera redirigé vers localhost:3443 par cette configuration ici.

230
00:19:24,110 --> 00:19:29,410
Et puis, le reste, le req.url contiendra le chemin réel sur le serveur.

231
00:19:29,410 --> 00:19:34,220
Donc, nous l'ajoutons simplement au chemin de redirection, et

232
00:19:34,220 --> 00:19:39,390
c'est le chemin vers lequel je vais rediriger le message de demande entrante.

233
00:19:39,390 --> 00:19:42,200
Donc, une fois que je redirige le message de demande entrante

234
00:19:42,200 --> 00:19:46,630
, mon message de demande sera redirigé vers le port sécurisé.

235
00:19:46,630 --> 00:19:50,240
Et un dernier changement pourrait res.rediriger,

236
00:19:50,240 --> 00:19:54,470
nous allons ajouter le code d'état écrit comme 307.

237
00:19:54,470 --> 00:19:59,084
307 représente ici que la ressource cible réside temporairement sous une

238
00:19:59,084 --> 00:20:00,890
URL différente.

239
00:20:00,890 --> 00:20:04,990
Et l'agent utilisateur ne doit pas modifier la méthode de requête s'il

240
00:20:04,990 --> 00:20:08,120
se transforme en redirection automatique vers cette URL.

241
00:20:08,120 --> 00:20:11,880
Donc, je m'attends à ce que l'agent utilisateur réessaie

242
00:20:11,880 --> 00:20:16,780
avec la même méthode qu'ils ont utilisée pour le point de fin d'origine.

243
00:20:16,780 --> 00:20:21,820
C' est tout, que le changement que je dois faire dans le fichier app.js.

244
00:20:21,820 --> 00:20:26,452
Donc, après avoir changé le app.js, et le www, et

245
00:20:26,452 --> 00:20:30,548
également généré la clé et le certificat,

246
00:20:30,548 --> 00:20:35,751
nous pouvons maintenant enregistrer les changements, et aller et démarrer notre serveur.

247
00:20:36,864 --> 00:20:41,606
Accédez au terminal ou à la fenêtre de commande, assurez-vous que vous êtes de

248
00:20:41,606 --> 00:20:46,340
retour dans votre dossier ConfusionServer, puis démarrez le serveur.

249
00:20:46,340 --> 00:20:49,443
Donc, je suis au terminal de taper npm start.

250
00:20:52,473 --> 00:20:57,295
Et votre serveur sera opérationnel, et vous remarquez également que nous sommes en train d'

251
00:20:57,295 --> 00:21:01,848
imprimer ici disant, Secure Server écoute sur le port numéro 3443 ici.

252
00:21:01,848 --> 00:21:09,322
Pour accentuer le serveur sécurisé, accédez à un navigateur comme Chrome ici.

253
00:21:09,322 --> 00:21:13,648
Et puis, laissez-moi d'abord accéder au serveur sécurisé à

254
00:21:13,648 --> 00:21:19,750
localhost : 3443 qui est l'endroit où mon serveur sécurisé est en cours d'exécution.

255
00:21:19,750 --> 00:21:29,490
Et notez que lorsque j'essaie le https://localhost3443 dans le navigateur,

256
00:21:29,490 --> 00:21:34,170
il viendra avec ce message ici disant, Votre connexion n'est pas privée.

257
00:21:34,170 --> 00:21:37,670
Évidemment, parce que le certificat que nous utilisons actuellement

258
00:21:37,670 --> 00:21:39,640
est un certificat auto-signé.

259
00:21:39,640 --> 00:21:44,770
Et ceci n'est pas reconnu par Chrome comme un certificat valide.

260
00:21:44,770 --> 00:21:49,780
Mais comme nous savons ce que nous faisons, il est normal pour nous d'accepter

261
00:21:49,780 --> 00:21:56,210
que nous allons permettre de passer à ce serveur particulier.

262
00:21:56,210 --> 00:22:00,630
Maintenant, je vous conseille fortement de ne jamais le faire sur

263
00:22:00,630 --> 00:22:04,110
n'importe quel site qui vient avec la suggestion.

264
00:22:04,110 --> 00:22:07,260
Nous le faisons spécifiquement dans cet exercice parce que

265
00:22:07,260 --> 00:22:09,430
nous savons exactement où se trouve le serveur, et

266
00:22:09,430 --> 00:22:13,480
nous savons que nous avons explicitement configuré le serveur nous-mêmes.

267
00:22:13,480 --> 00:22:18,930
Mais si un autre site Web arrive avec ce message, je

268
00:22:18,930 --> 00:22:24,750
vous conseille fortement de ne pas accepter la suggestion et de procéder à l'accès au serveur.

269
00:22:24,750 --> 00:22:31,840
Donc, vous devriez revenir à la sécurité si jamais vous voyez ceci ou sur n'importe quel autre site Web.

270
00:22:31,840 --> 00:22:36,360
Mais puisque nous savons que c'est notre propre serveur, je vais passer à

271
00:22:36,360 --> 00:22:43,450
l'hôte local ici, et vous verrez que nous accédons au serveur Express.

272
00:22:43,450 --> 00:22:45,900
Et aussi, vous remarqueriez ici

273
00:22:45,900 --> 00:22:51,280
que votre navigateur vous montre que vous accédez à un serveur non sécurisé.

274
00:22:51,280 --> 00:22:54,040
Lorsque vous cliquez dessus, vous verrez

275
00:22:54,040 --> 00:22:57,160
ce message indiquant que votre connexion au site n'est pas sécurisée.

276
00:22:57,160 --> 00:23:04,068
Mais nous savons que puisque nous exécutons le serveur nous-mêmes, c'est normal de le faire.

277
00:23:04,068 --> 00:23:08,860
C' est ainsi que vous accédez au serveur HTTPS.

278
00:23:08,860 --> 00:23:14,338
Maintenant, laissez-moi essayer d'accéder au même serveur HTTP mais, laissez-moi accéder au,

279
00:23:16,040 --> 00:23:19,206
Standard localhost : 3000.

280
00:23:19,206 --> 00:23:24,625
C' est là que nos serveurs non sécurisés sont au serveur HTTP normal est en cours d'exécution.

281
00:23:24,625 --> 00:23:30,190
Donc, quand j'essaie d'accéder à ce localhost HTTP : 3000,

282
00:23:30,190 --> 00:23:37,700
alors vous voyez immédiatement que mon serveur me redirigera vers le serveur sécurisé.

283
00:23:37,700 --> 00:23:41,850
Ainsi, votre serveur que nous venons de configurer

284
00:23:41,850 --> 00:23:46,740
s'assure que vous accéderez toujours au serveur sur son port sécurisé.

285
00:23:46,740 --> 00:23:50,040
Cela garantit également le fait que, lorsque vous échangez,

286
00:23:50,040 --> 00:23:52,902
lorsque vous envoyez vos informations d'identification, etc.,

287
00:23:52,902 --> 00:23:56,343
tous les échanges des informations d'identification dans l'en-tête du message.

288
00:23:56,343 --> 00:24:01,863
Et aussi lorsque vous vous connectez avec l'authentification locale, tout cela se fait de

289
00:24:01,863 --> 00:24:07,910
manière sécurisée dans un canal crypté entre votre client et le serveur.

290
00:24:07,910 --> 00:24:15,010
Donc, maintenant, nous avons configuré notre serveur pour être un serveur HTTPS sécurisé.

291
00:24:15,010 --> 00:24:18,090
Avec cela, nous complétons cet exercice.

292
00:24:18,090 --> 00:24:22,880
Dans cet exercice, nous avons appris comment configurer un serveur HTTP sécurisé ou

293
00:24:22,880 --> 00:24:25,930
utiliser le protocole HTTPS.

294
00:24:25,930 --> 00:24:27,994
Avec cela, nous complétons cet exercice.

295
00:24:27,994 --> 00:24:34,230
C' est le bon moment pour vous de faire un commit git avec le message, HTTPS.

296
00:24:34,230 --> 00:24:36,719
[ MUSIQUE]