NodeJSを実行しているUnbuntuサーバーがあり、いくつかのファイルをアップロードしたいと思います。一部のファイルには、リークしたくないデータが含まれていますが、誰かがファイルを入手したとしても、大きな問題にはなりません。私のNodeJSサーバーは現在プレーンなHTTPサーバーですが、 この記事 から理解できることから、HTTPファイルのアップロードを強制的に暗号化できるはずです。これは、HTTP POSTリクエストを使用してファイルをアップロードでき、暗号化されていることを意味しますか?ファイルアップロードはファイルを暗号化することをどのように認識しますか?
HTTPリクエストはMicrosoftFlowから送信されます。
HTTPプロトコルはTCPプロトコル上で機能します。HTTPSはTLS上で機能するため、基盤となる接続は異なります。HTTPS暗号化を使用してフォームを送信するには、HTTP接続をHTTPSにアップグレードする必要があります。 「アップグレード」HTTPヘッダーを使用します。 https://en.wikipedia.org/wiki/HTTP/1.1_Upgrade_header
HTTPはデータを暗号化するようには設計されていません。
Nodejsの質問については、ここのコードスニペットを見てみましょう。
var https = require('https');
https.createServer(options, app).listen(443);
モジュールhttps
は、HTTPSトラフィックに使用される443ポートでリッスンするサーバーを作成します。次のスニペットは、ポート80でトラフィックをリッスンするHTTPサーバーを作成します
var http = require('http');
http.createServer(app).listen(80);
これで、2つのサーバーが2つの異なるポートでリッスンしていることになります。私の答えを結論付けるために、HTTPとHTTPSは異なる接続で使用されます。 HTTPセッションをその場でHTTPSに変更することはできません。
最も簡単な解決策は、action
をhttpsURLに設定することだと思います。
<form action="https://<YOUR_Server/post-handler" method="post" ...>