У меня есть сервер Unbuntu под управлением NodeJS, куда я хочу загрузить несколько файлов. Некоторые из файлов содержат некоторые данные, которые я бы предпочел не допустить, но это не будет большой проблемой, если кто-то завладеет файлами. Мой сервер NodeJS в настоящее время является обычным HTTP-сервером, но насколько я понимаю из Эта статья, должна быть возможность принудительного шифрования загрузки файлов HTTP. Означает ли это, что я могу загрузить файл с помощью запроса HTTP POST, и он зашифрован? Откуда при загрузке файла известно, что файл нужно зашифровать?
HTTP-запрос отправляется из Microsoft Flow.
Протокол HTTP работает поверх протокола TCP. HTTPS работает поверх TLS. поэтому лежащие в основе связи разные. Чтобы отправить форму с шифрованием HTTPS, вам необходимо обновить HTTP-соединение до HTTPS, используя HTTP-заголовок «Upgrade». https://en.wikipedia.org/wiki/HTTP/1.1_Upgrade_header
HTTP не был разработан для шифрования данных.
Что касается вашего вопроса nodejs, давайте посмотрим здесь фрагмент кода
var https = require('https');
https.createServer(options, app).listen(443);
Модуль https
создаст сервер, который прослушивает порт 443, который используется для вашего HTTPS-трафика. следующий фрагмент создает ваш HTTP-сервер, который прослушивает трафик на порту 80
var http = require('http');
http.createServer(app).listen(80);
Итак, у вас есть два сервера, которые прослушивают два разных порта. В заключение скажу, что HTTP и HTTPS используются в разных соединениях. Боюсь, вы не можете на лету преобразовать свой HTTP-сеанс в HTTPS.
Я думаю, что самым простым решением было бы установить action
на https-адрес.
<form action="https://<YOUR_Server/post-handler" method="post" ...>