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

2
00:00:04,781 --> 00:00:09,377
En la conferencia anterior aprendimos acerca de HTTPS y cómo pueden llevar a cabo

3
00:00:09,377 --> 00:00:13,141
una comunicación segura entre el cliente y el servidor.

4
00:00:13,141 --> 00:00:17,960
También aprendimos un poco sobre criptografía,

5
00:00:17,960 --> 00:00:21,700
lo suficiente para entender cómo funciona HTTPS.

6
00:00:21,700 --> 00:00:24,800
Para que podamos configurar nuestro servidor HTTP,

7
00:00:24,800 --> 00:00:28,500
necesitamos obtener una clave pública y un certificado.

8
00:00:28,500 --> 00:00:34,650
Ahora configuraremos nuestro servidor ConFusion para que utilice HTTPS en este ejercicio.

9
00:00:34,650 --> 00:00:38,940
Por lo tanto, vamos a continuar, primero para generar la clave y

10
00:00:38,940 --> 00:00:42,130
el certificado que podemos usar para nuestro servidor y

11
00:00:42,130 --> 00:00:47,240
luego modificar nuestra aplicación express para admitir HTTPS.

12
00:00:49,060 --> 00:00:53,310
Para comenzar en este ejercicio, vaya a la carpeta del servidor ConFusion.

13
00:00:53,310 --> 00:00:57,230
Y luego en su terminal o ventana de comandos y

14
00:00:57,230 --> 00:01:02,200
luego vaya a la carpeta bin dentro de la carpeta del servidor ConFusion.

15
00:01:02,200 --> 00:01:05,440
Y en la carpeta bin verá un archivo llamado www.

16
00:01:05,440 --> 00:01:09,520
Esta es la carpeta donde vamos a generar nuestra clave privada y

17
00:01:09,520 --> 00:01:12,310
luego generar el certificado para

18
00:01:12,310 --> 00:01:18,840
nuestro servidor HTTPS usando una herramienta de línea de comandos llamada OpenSSL.

19
00:01:18,840 --> 00:01:24,320
Ahora OpenSSL se instala normalmente en máquinas Mac OS de forma predeterminada.

20
00:01:24,320 --> 00:01:31,030
Para máquinas con Windows es posible que necesite descargar e instalar OpenSSL explícitamente.

21
00:01:31,030 --> 00:01:35,780
Ahora he proporcionado un par de enlaces en las instrucciones para que vaya a

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

23
00:01:37,550 --> 00:01:41,897
También le he proporcionado un sitio web donde puede generar una

24
00:01:41,897 --> 00:01:43,430
clave privada autofirmada y un certificado.

25
00:01:43,430 --> 00:01:44,960
Así que vamos a echar un vistazo rápido a eso.

26
00:01:45,960 --> 00:01:49,440
Si está ejecutando una máquina con Windows y

27
00:01:49,440 --> 00:01:52,080
si no tiene OpenSSL ya instalado.

28
00:01:52,080 --> 00:01:56,120
A continuación, este enlace proporciona archivos binarios para

29
00:01:56,120 --> 00:02:00,300
OpenSSL que puede descargar e instalar en su computadora con Windows.

30
00:02:00,300 --> 00:02:06,050
Entonces, este enlace se proporciona en las instrucciones para este ejercicio.

31
00:02:06,050 --> 00:02:08,720
Así que entrando allí,

32
00:02:08,720 --> 00:02:14,145
encontrarás varias descargas de

33
00:02:14,145 --> 00:02:19,742
distribuciones relacionadas con OpenSSL de terceros que puedes descargar e instalar en tu ordenador.

34
00:02:19,742 --> 00:02:24,730
Por lo tanto, instale uno de estos para continuar

35
00:02:24,730 --> 00:02:29,030
con este ejercicio si no tiene OpenSSL ya en su máquina.

36
00:02:30,200 --> 00:02:35,330
Ahora, también si desea otra forma de

37
00:02:36,410 --> 00:02:40,410
generar su clave privada y certificado.

38
00:02:40,410 --> 00:02:45,240
Aquí hay un artículo de blog, un enlace al que ya he proporcionado en las instrucciones,

39
00:02:45,240 --> 00:02:49,990
que explica también cómo configurar su máquina Windows con

40
00:02:51,410 --> 00:02:55,990
OpenSSL y también generar la clave privada y el certificado.

41
00:02:55,990 --> 00:03:01,140
Por lo tanto, siga estos pasos para configurar su máquina Windows para

42
00:03:01,140 --> 00:03:05,330
generar la clave privada y el certificado.

43
00:03:05,330 --> 00:03:09,960
Ahora, si no desea instalar OpenSSL, aquí hay un enlace

44
00:03:09,960 --> 00:03:14,610
a un sitio que le permite generar

45
00:03:14,610 --> 00:03:19,420
allí certificado SSL autofirmado y clave como se ve aquí.

46
00:03:19,420 --> 00:03:22,900
Por lo tanto, un enlace a este sitio también se proporciona en las instrucciones.

47
00:03:22,900 --> 00:03:27,690
Por lo tanto, puede usar el servidor para generar el certificado SSL y

48
00:03:27,690 --> 00:03:29,930
la clave para su máquina Windows.

49
00:03:29,930 --> 00:03:32,330
Por lo tanto, cualquiera de estos enfoques se puede usar para

50
00:03:32,330 --> 00:03:38,720
generar la clave privada y el certificado para su computadora con Windows.

51
00:03:38,720 --> 00:03:41,320
Como me estoy ejecutando en una máquina OSX,

52
00:03:41,320 --> 00:03:47,580
voy a generar mi clave privada y mi certificado usando OpenSSL.

53
00:03:47,580 --> 00:03:52,858
Así que yendo a la terminal, déjame escribir openssl genrsa

54
00:03:52,858 --> 00:03:59,249
1024, lo que significa que voy a generar una clave privada de tamaño 1024.

55
00:03:59,249 --> 00:04:04,400
Así que voy a poner esto en un archivo llamado clave privada, y

56
00:04:04,400 --> 00:04:10,590
una vez que se genera esto, entonces generaremos el archivo cert.csr correspondiente

57
00:04:10,590 --> 00:04:16,340
para que diga openssl req request.

58
00:04:16,340 --> 00:04:21,398
Así que estamos solicitando un nuevo certificado,

59
00:04:21,398 --> 00:04:27,839
con la clave private.key, y generará eso.

60
00:04:32,283 --> 00:04:35,530
Cert.CSR aquí.

61
00:04:35,530 --> 00:04:40,440
Ahora, cuando genere el cert.csr, surgirá algunas preguntas

62
00:04:40,440 --> 00:04:42,378
para que complete.

63
00:04:42,378 --> 00:04:44,700
Puede aceptar los valores predeterminados o

64
00:04:44,700 --> 00:04:48,400
puede rellenar sus propios valores si así lo decide.

65
00:04:48,400 --> 00:04:52,120
Realmente no importa porque este certificado que estamos utilizando sólo dentro de nuestro

66
00:04:52,120 --> 00:04:55,730
ordenador para probar nuestro servidor HTTPS.

67
00:04:55,730 --> 00:04:58,156
Por lo tanto, permítanme completar algunos detalles.

68
00:05:02,293 --> 00:05:06,286
Voy a dejar algunas de las cosas vacías allí.

69
00:05:06,286 --> 00:05:09,380
Y eso funcionaría muy

70
00:05:09,380 --> 00:05:13,900
bien, realmente no importa si rellenas esta información o no.

71
00:05:13,900 --> 00:05:19,679
Así que una vez que haga que se genere su cert.csr y

72
00:05:19,679 --> 00:05:26,834
a partir de eso generarán el certificado de distribución,

73
00:05:26,834 --> 00:05:31,651
por lo que escribiremos en el símbolo del sistema

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
Así que esto generará el certificado para

77
00:05:47,052 --> 00:05:52,111
nosotros, y una vez que complete estos pasos,

78
00:05:52,111 --> 00:05:55,623
cuando mire su carpeta,

79
00:05:55,623 --> 00:06:00,961
verá que tiene el private.key,

80
00:06:00,961 --> 00:06:07,255
el cert.csr y certificate.pem allí.

81
00:06:07,255 --> 00:06:11,205
Esto será necesario para configurar nuestro servidor HTTPS.

82
00:06:11,205 --> 00:06:17,375
Por lo tanto, ahora para configurar el servidor HTTPS, vamos a nuestro editor.

83
00:06:17,375 --> 00:06:21,755
En el editor, iremos a esta carpeta bin aquí.

84
00:06:21,755 --> 00:06:25,135
Y en la carpeta bin, verá este archivo llamado www.

85
00:06:25,135 --> 00:06:30,550
Revisamos brevemente este archivo en uno de los ejercicios anteriores.

86
00:06:30,550 --> 00:06:36,296
Ahora entrando en este archivo vamos

87
00:06:36,296 --> 00:06:41,704
a importar también el módulo central HTTPS, así que

88
00:06:41,704 --> 00:06:49,776
vamos a decir que HTTPS requiere HTTPS Y

89
00:06:49,776 --> 00:06:53,010
también requerimos el módulo del sistema de archivos.

90
00:06:53,010 --> 00:06:57,160
Ya ha encontrado el módulo del sistema de archivos anteriormente

91
00:06:57,160 --> 00:06:58,560
en uno de los ejercicios.

92
00:06:58,560 --> 00:07:01,440
Así que importaremos ambos.

93
00:07:01,440 --> 00:07:07,180
Y luego, bajando aquí, configuraremos el número de puerto en el que

94
00:07:07,180 --> 00:07:13,200
se ejecutará nuestro servidor HTTPS, así que diremos app.set y

95
00:07:13,200 --> 00:07:17,160
diremos SecPort.

96
00:07:17,160 --> 00:07:22,370
Así que vamos a configurar una variable aquí llamada puerto seguro y

97
00:07:22,370 --> 00:07:26,890
luego inicializaré esto al puerto+443.

98
00:07:26,890 --> 00:07:29,998
Ahora, ¿por qué uso este puerto+443?

99
00:07:29,998 --> 00:07:35,881
En un servidor estándar, si el servidor actúa como servidor web, el

100
00:07:35,881 --> 00:07:42,890
protocolo HTTP se ejecutará en el puerto número 80 del servidor.

101
00:07:42,890 --> 00:07:47,049
Y el HTTP seguro se ejecutará en el puerto número 443.

102
00:07:48,090 --> 00:07:54,070
Ahora normalmente no querría usar esos puertos reservados

103
00:07:54,070 --> 00:08:00,170
en una aplicación de desarrollo, pero lo estamos haciendo en este curso.

104
00:08:00,170 --> 00:08:02,250
En su lugar, como vio anteriormente,

105
00:08:02,250 --> 00:08:08,170
habíamos configurado nuestro número de puerto en 3000 donde se está ejecutando nuestro servidor HTTP.

106
00:08:08,170 --> 00:08:15,481
Así que voy a ejecutar el servidor HTTPS, en el puerto número 3443.

107
00:08:15,481 --> 00:08:18,311
Así que 3000 más 443.

108
00:08:18,311 --> 00:08:22,550
Así que esa es la razón por la que declaro este puerto seguro.

109
00:08:22,550 --> 00:08:30,748
Como puerto+443, nuestro servidor HTTPS se ejecutará en el puerto número 443.

110
00:08:30,748 --> 00:08:35,296
Todavía estaré ejecutando el servidor HTTP en el puerto 3000,

111
00:08:35,296 --> 00:08:40,696
ya hemos creado el servidor HTTP aquí en el WWW, o más bien,

112
00:08:40,696 --> 00:08:46,220
esto es generado automáticamente por el generador express.

113
00:08:46,220 --> 00:08:49,890
Ahora, dado que el servidor HTTP ya está configurado,

114
00:08:49,890 --> 00:08:54,290
ahora vamos a configurar el servidor HTTPS.

115
00:08:55,810 --> 00:09:02,460
Entonces, para configurar el servidor HTTPS, justo después de configurar el servidor HTTP.

116
00:09:02,460 --> 00:09:06,410
Ahora la razón por la que todavía voy a ejecutar el servidor HTTP es que,

117
00:09:06,410 --> 00:09:12,120
si recibo una solicitud en el puerto del servidor HTTP,

118
00:09:12,120 --> 00:09:16,420
esa solicitud será redirigida al servidor HTTPS.

119
00:09:16,420 --> 00:09:23,070
Por lo tanto, mi servidor solo prestará servicio a los puertos HTTPS.

120
00:09:23,070 --> 00:09:27,750
Pero si por casualidad alguien accede al servidor en el puerto HTTP,

121
00:09:27,750 --> 00:09:31,070
redirigiré esa solicitud al puerto HTTPS.

122
00:09:31,070 --> 00:09:33,270
Haremos eso un poco más tarde.

123
00:09:33,270 --> 00:09:36,316
Primero, vamos a configurar el servidor HTTPS.

124
00:09:36,316 --> 00:09:40,665
Entonces, para configurar el servidor HTTPS, aquí mismo,

125
00:09:40,665 --> 00:09:46,060
declararé algunas opciones aquí para mi servidor HTTPS.

126
00:09:46,060 --> 00:09:51,740
Ahora recuerde que para un servidor HTTPS, necesitamos configurar la clave privada y

127
00:09:51,740 --> 00:09:56,670
el certificado que mi servidor HTTPS va a usar.

128
00:09:56,670 --> 00:10:01,200
Entonces, en las opciones, voy a especificar clave y

129
00:10:01,200 --> 00:10:07,832
luego voy a usar el sistema de archivos y luego voy a decir, ReadFileSync.

130
00:10:09,340 --> 00:10:16,250
Así que leeré este archivo sincrónicamente para completar la lectura en el archivo

131
00:10:16,250 --> 00:10:21,290
antes de poder configurar mi servidor HTTPS.

132
00:10:21,290 --> 00:10:25,862
Así que voy a leer este archivo de __dirname.

133
00:10:25,862 --> 00:10:30,958
Ya sabes por qué utilizo __dirname de los

134
00:10:30,958 --> 00:10:36,710
ejercicios anteriores donde vimos el módulo de cinco sistemas que se estaba utilizando.

135
00:10:36,710 --> 00:10:40,370
Y luego, así que voy a decir __dirname+.

136
00:10:40,370 --> 00:10:49,570
Entonces, aquí, proporcionamos la ruta al private.key.

137
00:10:49,570 --> 00:10:54,346
Ahora, recuerde que este www está en la carpeta bin.

138
00:10:54,346 --> 00:10:57,710
Y el private.key también está en la carpeta bin, así

139
00:10:57,710 --> 00:11:03,200
que es por eso que voy a decir dirname+ esto, por lo que esto especificará

140
00:11:03,200 --> 00:11:08,170
al módulo de lectura del sistema de archivos que el archivo debe

141
00:11:08,170 --> 00:11:13,440
leerse desde este directorio bin, desde ese archivo private.key aquí.

142
00:11:14,730 --> 00:11:18,360
Ahora también, leeremos en el certificado aquí.

143
00:11:18,360 --> 00:11:21,585
Así que diremos, cert fs.readFileSync.

144
00:11:21,585 --> 00:11:26,053
Así que leerá sincrónicamente el archivo, lo que significa que,

145
00:11:26,053 --> 00:11:33,050
el archivo se leerá por completo antes de continuar con ese siguiente paso aquí.

146
00:11:33,050 --> 00:11:40,340
Y el archivo que necesitamos leer es también __dirname+.

147
00:11:40,340 --> 00:11:47,865
Y diremos, /certificate.pem, que hemos generado anteriormente.

148
00:11:51,407 --> 00:11:56,697
Y eso debería ser una coma, y no debería poner un punto y coma allí,

149
00:11:56,697 --> 00:12:02,740
porque este es un objeto JavaScript que hemos definido tiene las opciones.

150
00:12:02,740 --> 00:12:09,070
Entonces, una vez que definamos el objeto JavaScript, entonces vamos a configurar el servidor seguro.

151
00:12:09,070 --> 00:12:15,407
Entonces diremos var SecureServer https.

152
00:12:15,407 --> 00:12:21,410
Recordemos que, ahora, vamos a usar https, y luego diremos CreateServer.

153
00:12:21,410 --> 00:12:27,611
Así que recuerde que para HTTP, configuramos nuestro servidor así aquí.

154
00:12:27,611 --> 00:12:32,540
Para el servidor seguro, vamos a crear eso diciendo,

155
00:12:32,540 --> 00:12:37,859
var SecureServer Https.CreateServer, y luego vamos a proporcionar

156
00:12:37,859 --> 00:12:44,161
las opciones que acabamos de configurar y luego la segunda parte es la aplicación aquí.

157
00:12:44,161 --> 00:12:48,026
Entonces mi SecureServer está bien,

158
00:12:48,026 --> 00:12:54,410
también estará disponible para que mi aplicación pueda acceder.

159
00:12:54,410 --> 00:13:00,301
Ahora abajo aquí, voy a configurar

160
00:13:00,301 --> 00:13:06,044
el secureserver.Escuche en el número de puerto,

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

162
00:13:13,530 --> 00:13:17,950
Recordemos que aquí habíamos hecho un app.set SecPort, así que

163
00:13:17,950 --> 00:13:23,840
establecemos este valor aquí al número de puerto seguro.

164
00:13:23,840 --> 00:13:27,280
Y luego abajo aquí, estamos diciendo app.get.

165
00:13:27,280 --> 00:13:32,013
Esto significa que este valor que hemos

166
00:13:32,013 --> 00:13:36,470
configurado anteriormente estará disponible

167
00:13:36,470 --> 00:13:41,205
para configurar nuestro puerto de escucha para

168
00:13:41,205 --> 00:13:45,522
nuestro servidor, app.get SecPort, y

169
00:13:45,522 --> 00:13:52,059
luego suministrar la función de devolución de llamada aquí.

170
00:13:55,029 --> 00:13:58,438
Y dentro de esta función de devolución de llamada, diremos,

171
00:14:03,514 --> 00:14:11,715
console.log Server escuchando en el puerto.

172
00:14:21,317 --> 00:14:26,931
Vamos a hacer escuchar servidor seguro en el puerto

173
00:14:28,697 --> 00:14:32,448
Y luego, una vez que configuramos el SecureServer,

174
00:14:32,448 --> 00:14:38,690
entonces tenemos que, Ver, SecureServer en.

175
00:14:38,690 --> 00:14:45,170
Entonces, si SecureServer recibe un evento de error,

176
00:14:45,170 --> 00:14:51,790
entonces nos gustará OnError, que se configura a continuación, para manejar eso.

177
00:14:51,790 --> 00:14:55,520
Y luego diremos, Secureserver.on.

178
00:14:59,786 --> 00:15:04,428
Escuchando, así que si usted recibe el evento de escucha,

179
00:15:04,428 --> 00:15:07,950
entonces llamaremos a OnListening.

180
00:15:07,950 --> 00:15:11,100
Ahora, ¿dónde están configurados estos OnError y OnListening?

181
00:15:11,100 --> 00:15:14,830
Si usted entra en el código aquí, abajo aquí abajo.

182
00:15:14,830 --> 00:15:20,920
Está especificando estas dos funciones que función OnError aquí,

183
00:15:20,920 --> 00:15:24,540
y luego la función OnListening aquí.

184
00:15:24,540 --> 00:15:30,140
Así que vamos a usar estas dos funciones para configurar nuestro servidor aquí.

185
00:15:30,140 --> 00:15:32,320
Por lo tanto, con estos cambios,

186
00:15:32,320 --> 00:15:38,180
mi servidor ahora está configurado para ejecutar también SecureServer en el puerto número 443.

187
00:15:38,180 --> 00:15:44,290
Ya hemos configurado el servidor HTTP estándar aquí.

188
00:15:44,290 --> 00:15:51,860
Así que una vez que hayamos hecho estos dos, entonces, nuestra próxima actualización estará en el archivo app.js.

189
00:15:51,860 --> 00:15:58,313
Así que voy al archivo app.js Lo que voy a hacer es configurar

190
00:15:58,313 --> 00:16:04,729
este servidor para que redirija cualquier tráfico que llegue al puerto inseguro.

191
00:16:04,729 --> 00:16:09,780
Ese es el puerto número 3.000, redirigirá esa solicitud al puerto seguro.

192
00:16:09,780 --> 00:16:16,285
Entonces, para hacer eso, permítanme configurar un middleware justo después de declarar la app.express.

193
00:16:16,285 --> 00:16:21,541
Así que aquí diremos, app.all, lo que significa, para

194
00:16:21,541 --> 00:16:27,090
todas las solicitudes sin importar cuál sea la ruta en la solicitud.

195
00:16:27,090 --> 00:16:33,118
Propia solicitud entrando, voy a redirigir eso a,

196
00:16:35,885 --> 00:16:39,582
Así que diremos rec, res, siguiente, y

197
00:16:39,582 --> 00:16:44,156
la función de devolución de llamada que se define aquí.

198
00:16:44,156 --> 00:16:51,820
Y así, declararemos la función aquí dentro.

199
00:16:51,820 --> 00:16:58,529
Y diremos, si req.secure.

200
00:16:58,529 --> 00:17:04,215
Entonces, lo que significa que, si la solicitud entrante ya es una solicitud segura,

201
00:17:04,215 --> 00:17:06,520
entonces, ¿cómo sabemos eso?

202
00:17:06,520 --> 00:17:10,591
Si la solicitud entrante ya es una solicitud segura, entonces el

203
00:17:10,591 --> 00:17:15,020
objeto de solicitud llevará este indicador llamado secure que ya estará establecido en true.

204
00:17:16,121 --> 00:17:19,410
Si la solicitud entrante no es en absoluto puerto seguro,

205
00:17:19,410 --> 00:17:24,960
sino que viene al puerto inseguro, entonces no se establecerá write.secure.

206
00:17:24,960 --> 00:17:28,331
Así que, eso es lo que me estoy ocupando.

207
00:17:28,331 --> 00:17:31,511
Si ya está llegando al puerto seguro, voy a seguir adelante

208
00:17:31,511 --> 00:17:35,110
sin hacer nada porque ya está llegando al puerto seguro.

209
00:17:35,110 --> 00:17:38,514
Así que puedo decir sencillamente, lo siguiente.

210
00:17:39,586 --> 00:17:44,320
De lo contrario, así que diremos, regresa a continuación.

211
00:17:44,320 --> 00:17:48,678
De lo contrario, por lo que ocurrirá lo contrario,

212
00:17:52,360 --> 00:17:55,780
Cuando se trata de llegar al puerto inseguro.

213
00:17:55,780 --> 00:17:59,850
Entonces, en este caso, diré res.redirect.

214
00:17:59,850 --> 00:18:03,920
Por lo tanto, el método de redirección está disponible,

215
00:18:03,920 --> 00:18:09,390
que redirige la solicitud entrante a otra URL.

216
00:18:09,390 --> 00:18:15,960
Por lo tanto, redirigiré esta solicitud insegura a https://.

217
00:18:15,960 --> 00:18:24,950
Así que estoy redirigiendo esta solicitud al nombre, req.host.

218
00:18:24,950 --> 00:18:27,720
Por lo tanto, la solicitud ya llevará el nombre de host.

219
00:18:27,720 --> 00:18:31,083
Entonces, porque esto viene al mismo servidor, así que

220
00:18:31,083 --> 00:18:33,657
estoy redirigiendo al mismo servidor.

221
00:18:33,657 --> 00:18:38,428
Y luego diremos +,

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

223
00:18:44,860 --> 00:18:52,468
Ahora recuerde que ya habíamos configurado el puerto seguro en la app.get allí.

224
00:18:52,468 --> 00:19:00,861
Entonces diremos app.get SecPort + req.url.

225
00:19:00,861 --> 00:19:05,757
Ahora este req.url contendrá el resto de la ruta

226
00:19:05,757 --> 00:19:10,080
excepto el nombre de host y el número de puerto.

227
00:19:10,080 --> 00:19:12,943
Entonces, si dices un localhost: 3000,

228
00:19:12,943 --> 00:19:17,685
ese localhost: 3000 estará cubierto por la primera parte y

229
00:19:17,685 --> 00:19:24,110
esto será redirigido a localhost: 3443 por esta configuración aquí.

230
00:19:24,110 --> 00:19:29,410
Y luego, el resto, el req.url contendrá la ruta real en el servidor.

231
00:19:29,410 --> 00:19:34,220
Por lo tanto, simplemente lo agregamos a la ruta de redirección, y

232
00:19:34,220 --> 00:19:39,390
esta es la ruta a la que voy a redirigir el mensaje de solicitud entrante.

233
00:19:39,390 --> 00:19:42,200
Entonces, una vez que redirija el mensaje de

234
00:19:42,200 --> 00:19:46,630
solicitud entrante, mi mensaje de solicitud será redirigido al puerto seguro.

235
00:19:46,630 --> 00:19:50,240
Y un último cambio podría res.redireccionar,

236
00:19:50,240 --> 00:19:54,470
agregaremos el código de estado escrito como 307.

237
00:19:54,470 --> 00:19:59,084
307 aquí representa que el recurso de destino reside temporalmente en una

238
00:19:59,084 --> 00:20:00,890
URL diferente.

239
00:20:00,890 --> 00:20:04,990
Y el agente de usuario no debe cambiar el método de solicitud si

240
00:20:04,990 --> 00:20:08,120
se redirecciona automáticamente a esa URL.

241
00:20:08,120 --> 00:20:11,880
Por lo tanto, esperaré que el agente de usuario vuelva a intentar

242
00:20:11,880 --> 00:20:16,780
con el mismo método que han utilizado para el punto final original.

243
00:20:16,780 --> 00:20:21,820
Eso es todo, que el cambio que necesito hacer en el archivo app.js.

244
00:20:21,820 --> 00:20:26,452
Entonces, después de haber cambiado el app.js y el www, y

245
00:20:26,452 --> 00:20:30,548
también generado la clave y el certificado,

246
00:20:30,548 --> 00:20:35,751
ahora podemos guardar los cambios e ir e iniciar nuestro servidor. Al

247
00:20:36,864 --> 00:20:41,606
ir al terminal o a la ventana de comandos, asegúrese de que está de

248
00:20:41,606 --> 00:20:46,340
vuelta en la carpeta ConfusionServer y, a continuación, inicie el servidor.

249
00:20:46,340 --> 00:20:49,443
Así que estoy en la terminal escribiendo npm start.

250
00:20:52,473 --> 00:20:57,295
Y su servidor estará en funcionamiento, y también notará que estamos imprimiendo

251
00:20:57,295 --> 00:21:01,848
aquí diciendo, Servidor seguro escuchando en el puerto número 3443 aquí.

252
00:21:01,848 --> 00:21:09,322
Para acentuar el servidor seguro, ve a un navegador como Chrome aquí.

253
00:21:09,322 --> 00:21:13,648
Y luego, primero permítanme acceder al servidor seguro en

254
00:21:13,648 --> 00:21:19,750
localhost: 3443, que es donde se ejecuta mi servidor seguro.

255
00:21:19,750 --> 00:21:29,490
Y observe que cuando pruebo el https://localhost3443 en el navegador,

256
00:21:29,490 --> 00:21:34,170
aparecerá este mensaje aquí diciendo: Su conexión no es privada.

257
00:21:34,170 --> 00:21:37,670
Obviamente, porque el certificado que estamos usando en este momento

258
00:21:37,670 --> 00:21:39,640
es un certificado autofirmado.

259
00:21:39,640 --> 00:21:44,770
Y esto no es reconocido por Chrome como un certificado válido.

260
00:21:44,770 --> 00:21:49,780
Pero ya que sabemos lo que estamos haciendo, está bien

261
00:21:49,780 --> 00:21:56,210
que aceptemos que vamos a permitir proceder a este servidor en particular.

262
00:21:56,210 --> 00:22:00,630
Ahora, le aconsejaré encarecidamente que nunca haga esto en

263
00:22:00,630 --> 00:22:04,110
ningún sitio que surja la sugerencia.

264
00:22:04,110 --> 00:22:07,260
Estamos haciendo esto específicamente en este ejercicio porque

265
00:22:07,260 --> 00:22:09,430
sabemos exactamente dónde está el servidor, y

266
00:22:09,430 --> 00:22:13,480
sabemos que hemos configurado explícitamente el servidor nosotros mismos.

267
00:22:13,480 --> 00:22:18,930
Pero si cualquier otro sitio web aparece con este mensaje,

268
00:22:18,930 --> 00:22:24,750
le aconsejo encarecidamente que no acepte la sugerencia y proceda a acceder al servidor.

269
00:22:24,750 --> 00:22:31,840
Por lo tanto, debe volver a la seguridad si alguna vez ve esto o en cualquier otro sitio web.

270
00:22:31,840 --> 00:22:36,360
Pero ya que sabemos que este es nuestro propio servidor, voy a proceder

271
00:22:36,360 --> 00:22:43,450
al localhost aquí, y luego verías que estamos accediendo al servidor Express.

272
00:22:43,450 --> 00:22:45,900
Y también notarías aquí arriba

273
00:22:45,900 --> 00:22:51,280
que tu navegador te muestra que estás accediendo a un servidor inseguro.

274
00:22:51,280 --> 00:22:54,040
Cuando haga clic en eso, verá ese mensaje

275
00:22:54,040 --> 00:22:57,160
aquí diciendo que su conexión con el sitio no es segura.

276
00:22:57,160 --> 00:23:04,068
Pero sabemos que ya que estamos ejecutando el servidor nosotros mismos, esto está bien hacerlo.

277
00:23:04,068 --> 00:23:08,860
Entonces así es como estarías accediendo al servidor HTTPS.

278
00:23:08,860 --> 00:23:14,338
Ahora, permítanme intentar acceder al mismo servidor HTTP pero, déjeme acceder al,

279
00:23:16,040 --> 00:23:19,206
localhost estándar: 3000.

280
00:23:19,206 --> 00:23:24,625
Aquí es donde nuestro servidor inseguro se encuentra al servidor HTTP normal que se está ejecutando.

281
00:23:24,625 --> 00:23:30,190
Entonces, cuando intento acceder a ese HTTP localhost: 3000,

282
00:23:30,190 --> 00:23:37,700
inmediatamente ve que mi servidor me redirigirá al servidor seguro.

283
00:23:37,700 --> 00:23:41,850
Así que de esta manera, su servidor que acabamos de configurar

284
00:23:41,850 --> 00:23:46,740
asegurará que siempre tendrá acceso al servidor en su puerto seguro.

285
00:23:46,740 --> 00:23:50,040
Esto también garantiza el hecho de que, cuando está intercambiando,

286
00:23:50,040 --> 00:23:52,902
cuando está enviando sus credenciales, etc.,

287
00:23:52,902 --> 00:23:56,343
todo el intercambio de las credenciales en el encabezado del mensaje.

288
00:23:56,343 --> 00:24:01,863
Y también cuando inicia sesión con la autenticación local, todo lo que se hace de

289
00:24:01,863 --> 00:24:07,910
manera segura en un canal cifrado entre su cliente y el servidor.

290
00:24:07,910 --> 00:24:15,010
Por lo tanto, ahora, hemos configurado nuestro servidor para que sea un servidor HTTPS seguro.

291
00:24:15,010 --> 00:24:18,090
Con esto, completamos este ejercicio.

292
00:24:18,090 --> 00:24:22,880
En este ejercicio, hemos aprendido cómo configurar un servidor HTTP seguro o

293
00:24:22,880 --> 00:24:25,930
usar el protocolo HTTPS.

294
00:24:25,930 --> 00:24:27,994
Con esto, completamos este ejercicio.

295
00:24:27,994 --> 00:24:34,230
Este es un buen momento para que hagas una confirmación de git con el mensaje, HTTPS.

296
00:24:34,230 --> 00:24:36,719
[ MÚSICA]