포트 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://에서 우분투 기본 웹사이트를 볼 수 있습니다. 응용프로그램은 http://...:3000에서만 작동합니다.

EC2의 보안 그룹에 포트 443을 추가했습니다.

어떡해?

답변1

서버에 인증서 파일을 두는 것만으로는 충분하지 않습니다. 포트(예: 443)에서 수신 대기하고 클라이언트가 SSL 연결을 원할 때 암호화 알고리즘으로 응답하는 서비스가 필요합니다. 그것은 할 수 있습니다 :

  • 다른 포트(예: 이 범주의 apache 및 nginx)에서는 80 및 443에서 하나는 http용이고 다른 하나는 https용입니다.
  • 예를 들어, 동일한 포트에서 메일 서버는 동일한 포트에서 TLS와 일반 텍스트 프로토콜을 사용할 수 있습니다.

따라서 서비스에 따라 다릅니다.

관련 정보