Uma solicitação HTTP para um servidor HTTPS pode ser forçada a criptografar?

Uma solicitação HTTP para um servidor HTTPS pode ser forçada a criptografar?

Eu tenho um servidor Unbuntu rodando NodeJS, onde quero fazer upload de alguns arquivos. Alguns dos arquivos contêm alguns dados que eu preferiria que não vazassem, mas não seria um grande problema se alguém conseguisse os arquivos. Meu servidor NodeJS é atualmente um servidor HTTP simples, mas pelo que entendiEste artigo, deve ser possível forçar a criptografia dos uploads de arquivos HTTP. Isso significa que posso fazer upload de um arquivo usando uma solicitação HTTP POST e ele está criptografado? Como o upload do arquivo sabe criptografar o arquivo?

A solicitação HTTP é enviada do Microsoft Flow.

Responder1

O protocolo HTTP funciona sobre o protocolo TCP. HTTPS funciona sobre TLS. portanto, as conexões subjacentes são diferentes. Para enviar seu formulário com criptografia HTTPS, você precisará atualizar sua conexão HTTP para HTTPS usando o cabeçalho HTTP "Atualizar".https://en.wikipedia.org/wiki/HTTP/1.1_Upgrade_header

O HTTP não foi projetado para criptografar dados.

Em relação à sua pergunta sobre nodejs, vamos dar uma olhada no trecho de código aqui

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

O módulo httpscriará um servidor que escuta na porta 443, que é usada para seu tráfego HTTPS. o próximo snippet cria seu servidor HTTP que escuta o tráfego na porta 80

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

Então agora você tem dois servidores escutando em duas portas diferentes. Para concluir minha resposta, HTTP e HTTPS são usados ​​em conexões diferentes. você não pode transformar sua sessão HTTP em HTTPS instantaneamente, infelizmente.

Responder2

Acho que a solução mais fácil seria definir actiono URL https.

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

informação relacionada