[Nginx] Nginx에 SSL를 적용해보자(SSL 개념)
·
Infra/NGINX
이번 포스팅에서는 Nginx에 SSL 인증서를 적용해보는 법을 알아보려 한다. 우선 시작하기에 앞서 SSL/TLS는 뭘까? SSL/TLSSSL(Secure Socket Layer) 또는 TLS(Transport Layer Security)은 전송계층 상에서클라이언트, 서버에 관한 인증 및 데이터 암호화를 수행한다. 즉, 클라이언트와 서버 양단 간 응용계층 및 TCP 전송계층 사이에서 안전한 보안 채널을 형성해주는 역할을 하는 보안용 프로토콜이다.이 둘은 보통 버전의 차이이며, 보통 SSL이라 통칭한다.(엄밀히 말하면 SSL을 좀 더 정교한게 만든 것이 TLS 라고 한다.) 기본적으로 HTTP/2 프로토콜을 통해 동작한다. 응용계층 및 전송계층 사이에 위치하나 전송계층 보다 응용계층에 밀접하게 동작한다.운..
[Nginx] Nginx의 5가지 주요 기능을 nginx.conf 파일과 함께 알아보자
·
Infra/NGINX
Nginx의 5가지 주요 기능은 뭘까?장애를 대응하는 방법로드 밸런싱으로 부하분산을 수행하기Keep Alive로 자원을 효율적으로 이용Sub-Domain으로 다양한 서버 호스팅캐싱 처리로 더 빠른 속도를 제공그러면 각각의 기능을 nginx.conf 파일로 녹여내보자.장애 대응장애 대응 기능은 Backend 서버에 관한 요청과 응답을 토대로 장애를 판단해준다.장애 대응을 위해서는 Upstream Module을 사용하는데, max_fails, fail_timeout으로 서버의 상태를 확인한다.max_fails=n : n으로 지정된 횟수만큼 연결을 실패하면 서버가 다운된 것으로 판단한다.fail_timout=n : max_fails가 지정된 상태에서 n값으로 설정된 시간만큼 서버가 응답하지 않으면 서버가 다운..
[Nginx] Nginx의 핵심 파일인 nginx.conf에 관해 알아보자
·
Infra/NGINX
지난 포스팅에서 우리는 Nginx가 뭔지 알아보았고 왜 Nginx를 쓰는지에 관해 알아보았다. 이번 포스팅에서는 Nginx의 실제 사용에 대해 알아본다. 필자는 AWS EC2에서 수행했다.Nginx의 디렉토리 구조우선, 제목에도 알 수 있듯이 Nginx의 핵심 파일은 nginx.conf이다. 이건 어디에 있을까?  find 명령어를 사용해서 /(루트 디렉토리) 부터 nginx.conf가 어딨는지 확인할 수 있다.  /etc/nginx 디렉토리의 내부 구성은 다음과 같다. 1. nginx.conf: 메인 설정 파일2. fcgi.conf: Fast CGI 환경설정 파일 Nginx는 알겠는데 Fast CGI는 뭘까? FastCGICGI(Common Gateway Inteface)의 한 형태로, 웹 서버와 애플..
[Nginx] Nginx는 뭘까? Nginx 기능에는 어떤 것들이 있을까?
·
Infra/NGINX
Nginx 기본적으로 Nginx는 단순히 정적 파일을 호스팅 해주는 웹서버이다. 하지만 다른 웹서버와 다른 특징이 있다. nginx의 컨셉은 다음과 같다.적은 자원으로 더 빠르게 서비스를 제공Nginx의 컨셉에 적은 자원으로 서비스를 빠르게 제공한다고 했는데, 어떻게 그게 가능할까? 바로 이벤트 처리 방식이다.Event-Driven  Event-Driven 방식이 사용되어 적은 자원으로 빠른 제공이 가능해 진 것이다. Nginx가 아닌 다른 웹 서버는 Thread Programming으로,매 요청당 하나의 Thread를 생성한다. 그렇기 때문에 많은 요청이 있을 때 CPU의 부하를 걱정해야 하지만,Nginx의 비동기 Event-Driven 방식은 요청을 하나의 Event라 보고 Event Handler으..
[Infra] 프록시의 2가지 사용 전략인 Forward Proxy와 Reverse Proxy
·
Infra
프록시에는 2가지의 사용 전략이 있다. 이들을 구분하는 것은 네트워크를 기준으로 어디에 위치에 있냐이다. 네트워크 기준을 토대로 아래 두 가지로 나뉘어진다. Forward Proxy Reverse Proxy 이 둘의 개념은 살짝 모호하다. 둘의 차이에 관해 확실히 알아보자. 하지만, 시작하기에 앞서, 간단하게 이전에 포스팅 했던 프록시의 기능을 정리한다. Proxy 캐시 프록시 서버를 거치는 요청 및 응답을 모두 확인할 수 있음 필터링을 할 수 있음 데이터 압축, 언어 변환이 가능 이런 공통점이 있는데 우리가 이야기할 Forward & Reverse는 위의 기능 모두 사용할 수 있다. Forward Proxy 한 줄로 요약하자면 클라이언트 대신 서버로 요청을 보냄 이다. 이 Forward Proxy에 대..
[Infra] 프록시의 개념 및 프록시의 4가지 장점
·
Infra
많이 들어봤으며 이곳저곳에서 사용되는 프록시. 왜 우리는 프록시를 써야하고 왜 지금까지 프록시를 써왔을까? Proxy 네트워크에서 프록시는 서버나 클라이언트 사이에 존재하는 중계기라고 할 수 있다. 프록시를 사용한 예시는 다음과 같다. 교내 수강신청 사이트에 수강목록을 살펴본다고 가정해보자. 클라이언트는 수강신청 사이트로 접근한다. 클라이언트는 수강 목록을 살펴보기 위해 프록시 서버로 수강 록 데이터를 요청한다. 프록시 서버는 실제 수강신청 서버로 수강목록 데이터를 요청한다. 수강신청 서버에서는 프록시 서버가 보낸 요청을 받고 결과를 응답한다. 프록시 서버는 프록시 서버에서 받은 데이터를 클라이언트에게 전달해준다. 위의 예제에서 알 수 있듯 프록시 서버 말 그대로 중개인이다. 프록시 서버는 서버이면서 동..