본문 바로가기

nginx5

NGINX 요청의 크기를 조절해보자. (client_max_body_size) 0. 이런 에러메시지를 만나보셨나요? 그렇다면 아래 글을 확인하여 이 에러를 헤쳐나가 봅시다. Failed to load resource: the server responded with a status of 413 (Request Entity Too Large) 1. 에러가 발생한 이유 NGINX에서 업로드하는 파일의 용량을 기본적(default)으로 1MB로 제한하기 때문입니다. 왜 제한하냐고요? 당연히 공격을 피하기 위해서입니다. 만약, 파일 용량에 제한을 두지 않는다면 공격자들은 해당 서버로 용량이 큰 파일을 지속적으로 업로드하려고 시도할 것입니다. 2. 그럼 어떻게 파일 용량을 조절할까? 기본적으로는 nginx.conf의 http 블록에서 설정할 수 있습니다. 바로 client_max_body_s.. 2023. 10. 1.
NGINX의 HTTP 메서드를 제한해보자 0. 왜 메서드를 제한해야 할까? 우리는 기본적으로 GET / POST 메서드를 가장 많이 사용합니다. 최근 들어 RESTful 한 API를 개발하고자 PUT / DELETE / PATCH 등을 사용하기도 하죠. 하지만 일반적으로 웹사이트에서는 HEAD / OPTIONS / TRACE 메서드를 사용할 일이 없습니다. 이에, 우리는 웹 애플리케이션에서 사용 중인 메서드만 OPEN 해놓을 필요가 있습니다. (KISA에서는 GET/POST만 열어두길 권고하고 있습니다. but. RESTful 한 API를 사용 중이라면 예외) 1. 메서드 제한 설정하기 각 server 블록에는 location 블록이 존재할 것입니다. 이 location 블록 안에 limit_except 디렉티브를 작성해 줄 것입니다. ser.. 2023. 5. 14.
HTTP 응답에서 NGINX의 버전 정보를 숨겨보자 왜 NGINX 정보를 숨겨야 할까? 웹서버의 정보와 버전이 명시되어 있다면 당연히 그 버전에 맞는 취약점을 찾아 공격을 시도할 것입니다. 이에 우리는 최소한 웹서버의 버전 정보라도 숨겨야 합니다. 취약점을 최대한 감추기 위해서요! 1. NGINX 버전 정보 숨기기 가장 먼저 설치된 엔진엑스의 버전 정보를 숨기려 합니다. 엔진엑스뿐 아니라 대개의 웹서버는 설정값 하나를 넣어주면 되는 일이기 때문에 간단합니다. http 블록 안에 server_tokens 옵션(default ON)을 off 설정해 주면 끝입니다. vi /etc/nginx/nginx.conf ... http { server_tokensoff; ... .. } 2. 설정 확인하기 재기동 후 설정이 적용됐는지 확인합니다. systemctl res.. 2023. 5. 13.
NGINX의 설정에 대해 쉽게 알아보자. 지난 포스트에서는 NGINX를 설치해 보았습니다. 이제 우리는 이 웹서버를 적절히 사용하기 위해 설정에 대해 알아보고자 합니다. 0. 들어가기에 앞서서 Apache, NGINX 등 모든 웹서버는 아마 설정에 따라 성능이 천차만별일 것입니다. 이에 어느 설정이 있는지, 그 설정이 어떠한 역할을 하는지에 대해 아는 것이 중요합니다. 이에 이번 포스트는 NGINX가 제공하는 기본 설정에 대해 쉽게 알아보겠습니다. 1. nginx.conf NGINX의 기본 설정 파일입니다. [user@server /]# cat /etc/nginx/nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/.. 2023. 5. 10.
웹서버 중 NGINX를 설치해보자! 본 포스트는 CentOS 7.9 버전을 기준으로 작성하였습니다. 0. Apache와 NGINX 실무에서 아파치 서버를 사용하다 보니 저도 개인적으로 자연스럽게 아파치를 사용하였습니다. 관성에 의해 사용하게 되었는데 한편으론 생각했습니다. 왜 요즘은 NIGNX(엔진엑스)를 주로 사용할까? 무슨 차이가 있을까? 막연하게 그냥 사람들이 많이 쓰니까 더 좋은 성능인가 보다. 하고 넘어갔으나, 불현듯 그럼 한번 써보자! 생각이 들어 설치해보고자 합니다. 1. NGINX yum Repository 추가하기 /etc/yum.repos.d 디렉토리 안에 nginx.repo 파일을 생성하고, 레파지토리 정보를 작성 후 저장합니다. vi /etc/yum.repos.d/nginx.repo [nginx] name=nginx .. 2023. 5. 10.