Server
이번 글에서는 Apache가 제공하는 mod_proxy 모듈을 사용해 리버스 프록시를 구현해보려고 합니다. 프록시에 대해서 모든 것을 설명하기에는 벅차기 때문에 이번 글에서는 간단히 프록시가 무엇이고, 포워드 프록시와 리버스 프록시의 차이점에 대해서만 설명해보려고 합니다. 프록시란? 프록시 서버는 서버와 클라이언트 사이에 위치하여 요청이나 응답을 중계하는 역할을 하는 서버라고 할 수 있습니다. 다시 말하면 클라이언트에서 보내는 요청을 프록시 서버에서 대신 처리하게끔하여 일종의 대리인이 될 수도 있습니다. 즉, 아래 그림과 같이 클라이언트에서 요청을 보내면 프록시 서버가 중간에 위치하여 요청에 대하여 검증을 한다거나 부가적인 작업을 수행할 수 있게됩니다. 포워드 프록시? 리버스 프록시? 어찌됐든 프록시 서..
이번 글에서는 HTTPS가 무엇이고, Apache에서 HTTPS를 구현하기 위해서 동작 과정과 인증서를 생성하고 설정하는 방법에 대하여 살펴보고자 합니다. HTTPS란? HTTPS란, HTTP over TLS, HTTP over SSL, HTTP Secure라고 불리며, 기존 HTTP가 평문으로 전달되는 통신 과정에서 안전하지 못한 문제점을 HTTP의 데이터를 SSL/TLS로 암호화하여 안전한 통신을 보장하기 위해 사용되는 프로토콜입니다. 또한, HTTP의 경우 80번 포트를 사용하는반면 HTTPS는 443번 포트를 사용하게 됩니다. HTTPS의 동작 원리 HTTPS가 이뤄지는 과정, 즉 SSL Handshake는 크게 3단계로 설명할 수 있습니다. Hello 교환 인증서 교환 키 교환 이 과정을 그림으..
웹 서버란? 웹 서비스는 서비스를 제공하는 서버 부분과 이를 이용하는 클라이언트로 구성이 된다. 사용자들이 이용하는 웹 브라우저가 대표적인 클라이언트 중 하나이다. 이에 반해 클라이언트에게 서비스를 제공하는 서버 프로그램을 웹 서버라고한다. 다시말해 클라이언트가 서버에게 특정 리소스를 요청하면 웹 서버는 요청에 따른 리소스를 반환해주게 된다. 대표적인 웹 서버 프로그램으로는 Apache, Nginx, IIS등이 있다. Apache란? 웹 서버 프로그램 중 하나로 아파치 소프트웨어 재단에서 제공하는 대표적인 오픈소스 HTTP 서버이다. Apache는 자체적으로 다양한 기능을 제공하지만, 다양한 종류의 서드파티 모듈 설치를 통해 여러 기능들을 사용자 환경에 맞게 언제든지 추가와 삭제가 가능하고, 그 업데이트..
배포 환경 AWS EC2 Ubuntu 16.04.6 1. git 설치 여부 확인 $ git --version => git version정보가 잘 출력된다면 설치되어있는 것. git이 설치되어 있지 않다면 아래 명령어를 통해 git 설치 $ sudo apt-get install git 2. nvm 설치하기 $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash 3. nvm 활성화하기 $ . ~/.nvm/nvm.sh 4. nvm에 node 설치하기 $ nvm install node 5. node 설치 확인 $ node -v => 설치된 node의 version정보가 잘 뜨면 설치 완료 [참고] nvm에서 node 버전..