ポート443(ポート80で実行)でSSLを使用してノードアプリケーションを実行します。

ポート443(ポート80で実行)でSSLを使用してノードアプリケーションを実行します。

Amazon EC2で実行されるサーバーを設定しようとしています。

私はポート80でノードアプリを実行する方法を見つけましたが、今Letsencrypt SSLを使用してポート443で実行しようとしています。ポート80で作業する前に、以下を追加しました。

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3000

そして

sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 3000

みんな大丈夫です。しかし、今Letsencryptをインストールした後も同じことを試しましたが、80の代わりにポート443を使用しましたが、うまくいきませんでした。

Letsencryptが自動的にすべてのファイルを設定したので、httpからhttpsへのリダイレクトは正常に機能します。 https://でUbuntuの基本的なウェブサイトを見ることができます。アプリケーションはhttp://...:3000でのみ動作します。

EC2のセキュリティグループにポート443を追加しました。

どうですか?

ベストアンサー1

サーバーに証明書ファイルを置くだけでは十分ではありません。ポート(443など)でリッスンし、クライアントがSSL接続を希望する場合は、暗号化アルゴリズムで応答するサービスが必要です。それはできます:

  • 他のポート(たとえば、このカテゴリのapacheおよびnginx)では、80および443では1つはhttp用、もう1つはhttps用です。
  • たとえば、同じポートのメールサーバーは、同じポートでTLSとプレーンテキストプロトコルを使用できます。

したがって、サービスによって異なります。

おすすめ記事