質問: 現在node.jsでsocketのサーバを使用しているアプリがあります。 このサーバをhttpsに対応させようとしています。 https://example.com:3000 という感じでアクセスできるようになったのですが、 http://example.com:3000 の非SSLでアクセスできなくなってしまいました。 アプリの都合上、段階的にhttpsに対応していく必要があるため、 一定期間はhttpとhttpsを共存できるようにしておく要件があります。 1つのポートでhttpとhttpsでアクセスできるようにする方法はあるのでしょうか? サーバのroot権限はあるので、ある程度自由にはできます。 環境はこちらです。 CentOS release 6.8 (Final) node v0.10.46 npm 1.3.6 よろしくお願いいたします。
回答: 直接的な回答ではありませんが、HTTPSに切り替えるのであればポートも**443番**とすることをおすすめします。 というのも、プロキシを介した環境の場合、(プロキシ自身が中間者となってしまうのでなければ)`CONNECT`メソッドを使って直接HTTPSのサーバと通信して、プロキシは暗号化されたものをそのまま中継するだけ、ということになりますが、セキュリティ上443番以外の`CONNECT`を禁止していることも多く、それ以外のポートのHTTPSにはうまくつながらないことも多いからです。