web-dev-qa-db-ja.com

httpとhttpsで同じポートを設定することは可能ですか?

Nodejsアプリケーションのポート番号は3001で、このアプリはhttpで動作しますが、httpsでは動作しません。 Apacheサーバーで、80または443のリバースプロキシを5001に設定し、3001のリバースプロキシも設定します。

http://<domain>:3001/socket.io/socket.js   ---> Work

https://<domain>:3001/socket.io/socket.js   ---> Not Work(Secure Connection Failed or This site can’t be reached)

ここで、同じポート(3001)がhttphttpsで動作することを知る必要がありますか?

そのための解決策はありますか?

3
Nullpointer

いいえ、同じポートでHTTPとHTTPSを実行することはできません。

HTTPSを使用する場合、接続は最初からSSL/TLSプロトコルを使用します。クライアントがプレーンHTTPを使用して送信を開始する可能性はありません。

SSL/TLS標準では、ポートでプレーンテキスト通信が検出された場合にHTTPに戻す方法は提供されていません。

7
thomasrutter