해결된 질문
작성
·
155
1
안녕하세요.
https, http2강의를 듣고 한가지 궁금한게 생겨 질문을 작성해 봅니다.
[서론]
Node.js를 처음 배워보는 시점에서는 Node.js로 생성한 웹 서버가 우리가 흔히 아는 정말 웹 서버인지, 웹 애플리케이션 서버인지 헷갈렸었습니다.
하지만 이제서야 웹 서버 보다는 웹 애플리케이션 서버의 성격이 더 크다라는 생각이 들었네요..!
[본론]
이전 강의 까지 http 모듈을 통한 서버를 띄우는 프로그래밍을 해왔었데요. 이번 강의에서는 https, http2 각각의 모듈을 통해 서버를 띄우는 방법에 대해 학습할 수 있었습니다.
만약, 기존 운영 환경에서는 http 모듈을 통해 서비스를 하고 있는 중에 SSL 인증서를 발급받았고, HTTPS 프로토콜을 지원하기 위해서는 http 모듈로 프로그래밍 되어 있는 코드를 https 모듈로 바꿔야하는 이슈가 생길 수도 있겠다라는 생각이 들었는데요.
Node.js 외 웹 서버, 웹 애플리케이션 서버를 사용하는 경우 코드의 수정 없이 특정 환경설정 파일에서 SSL 인증서 경로를 설정하고 재시작만 하더라도 HTTPS 프로토콜 지원이 가능했었습니다.
제가 전체 강의를 다 보지는 않았지만 Node.js에서도 이런 환경설정 파일을 통한 HTTPS 프로토콜을 지원하는 방법이 있는지 궁금합니다.
P.S
저는 현재 실무에서는 PHP, Java 개발 언어를 다루며 Linux(CentOS)환경에서 웹 서버로는 Apache, 웹 애플리케이션 서버로는 Tomcat을 다루고 있습니다.
답변 1
1
네, 일단 노드 서버는 WAS입니다.
노드는 전부 다 코드로 하기 때문에 코드를 수정하지 않고서는 어렵습니다. 다른 언어는 잘 모르겠는데 예를 들어 자바나 php도 톰캣과 apache의 설정 파일을 수정하지 스프링,라라벨의 코드를 수정하는 것은 아니지 않나요?
그래서 보통은 노드 서버 앞단에 nginx나 apache를 두어서 여기서 ssl 설정을 하고 노드 서버는 리버스프록시로 세팅하곤 합니다.
네, Java와 PHP의 경우 소스코드 수정 없이 Tomcat 또는 Apache에서 제공하는 설정 파일에서 SSL 인증서를 등록해서 HTTPS를 지원하게 됩니다.
Node의 경우 이를 리버스 프록시로 해결하는군요. 감사합니다.