¿Se puede forzar el cifrado de una solicitud HTTP a un servidor HTTPS?

¿Se puede forzar el cifrado de una solicitud HTTP a un servidor HTTPS?

Tengo un servidor Unbuntu que ejecuta NodeJS, donde quiero cargar algunos archivos. Algunos de los archivos contienen algunos datos que preferiría que no se filtraran, pero no sería un gran problema si alguien consiguiera los archivos. Mi servidor NodeJS es actualmente un servidor HTTP simple, pero por lo que entiendoEste artículo, debería ser posible forzar el cifrado de las cargas de archivos HTTP. ¿Eso significa que puedo cargar un archivo mediante una solicitud HTTP POST y está cifrado? ¿Cómo sabe la carga del archivo que debe cifrarlo?

La solicitud HTTP se envía desde Microsoft Flow.

Respuesta1

El protocolo HTTP funciona sobre el protocolo TCP. HTTPS funciona sobre TLS. entonces las conexiones subyacentes son diferentes. Para enviar su formulario con cifrado HTTPS, necesitará actualizar su conexión HTTP a HTTPS usando el encabezado HTTP "Actualizar".https://en.wikipedia.org/wiki/HTTP/1.1_Upgrade_header

HTTP no fue diseñado para cifrar datos.

Con respecto a su pregunta sobre nodejs, veamos el fragmento de código aquí

var https = require('https');
https.createServer(options, app).listen(443);

El módulo httpscreará un servidor que escucha en el puerto 443, que se utiliza para su tráfico HTTPS. El siguiente fragmento crea su servidor HTTP que escucha el tráfico en el puerto 80.

var http = require('http');
http.createServer(app).listen(80);

Ahora tiene dos servidores escuchando en dos puertos diferentes. Para concluir mi respuesta, HTTP y HTTPS se utilizan en diferentes conexiones. Me temo que no puedes cambiar tu sesión HTTP a HTTPS sobre la marcha.

Respuesta2

Creo que la solución más sencilla podría ser configurar actionla URL https.

<form action="https://<YOUR_Server/post-handler" method="post" ...>

información relacionada