서버 인프라, 백엔드/웹서버 (Nginx)4 Nginx : X-Forwarded-For(XFF) 헤더를 통해 IP 로그 남기기 Nginx의 기본 로그 포맷 Nginx에서는 기본적으로 IP에 대한 아래와 같이 기본적으로 정의되어 있는 combined 로그 포맷으로 로그를 남겨줍니다. 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)" 해당 로그 포맷은 보통 아래와 같은 규칙에 따라 표현됩니다. log_format combined '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_.. 2024. 6. 13. Nginx : autoindex 를 통한 파일 목록 출력하기 오늘은 간단하게 Nginx에서 autoindex 기능을 통해 파일 목록을 출력하는 방법에 대해 알아보겠습니다. autoindex가 false일때 nginx 동작 기본적으로 nginx에서는 autoindex가 꺼져있는데요 이때 nginx에서 호스팅하고 있는 webroot를 기준으로 존재하는 폴더로 이동했을때에는 아래와 같이 404 not found가 출력됩니다. autoindex가 true일때 nginx 동작 하지만 요구사항에 따라 디렉토리 내의 파일을 목록화해서 파일을 다운로드 할 수 있는 디렉토리 리스팅 기능을 켜고 싶을때가 있는데요, 즉 파일리스트를 출력하고 싶을때 autoindex 기능을 사용합니다. 설정은 아래와 같습니다. 단순히 서버 block 안에서 `autoindex on;` 이라고 명시해.. 2024. 3. 11. Nginx : alias vs root 지시어의 차이점 알아보기 Nginx에서 root와 alias 지시어의 차이 Nginx 설정을 하다보면 root 지시어와 alias 지시어를 만나게 됩니다. 두 지시어의 설정은 뭔가 비슷하면서도 다른 부분이 있습니다. (지시어는 다른 말로 directive라도고 합니다.) 공통점은 둘 다 nginx에서 특정 웹 리소스를 찾기 위해 사용되는 디렉터리 경로를 설정하는 지시어라는 점입니다. 차이점은 동작하는 방식이 약간 다르다는 점인데요, 아래에서 해당 설정에 대해서 알게 된 내용을 간단하게 공유드리도록 하겠습니다. Root 지시어 root 지시어는 Nginx가 웹 서버에서 정적 파일을 찾을때의 기본 디렉터리를 설정합니다. server { listen 80; server_name example.com; root /var/www/html.. 2023. 9. 24. Nginx + React : Nginx를 이용하여 서브디렉토리에 React 프로젝트 여러개 배포하기 개요 React와 같은 Single Page 앱을 Nginx를 통해 배포할 때 해줘야 하는 설정들이 있습니다. 예를 들어, React에서 BrowserRouter를 사용할 때에는 Nginx의 try_files와 같은 설정을 해주어야 합니다. 하지만 여러 개의 React 앱을 하나의 Nginx로 배포할 때에는 추가적인 설정이 필요할 수가 있습니다. 오늘은 여러개의 React 프로젝트를 하나의 Nginx를 통해 배포하는 방법에 대해 알아보도록 하겠습니다. React 앱을 설정 없이 Nginx로 배포했을 때 발생하는 문제 빌드된 React 앱을 단순하게 Nginx의 웹루트로 배포해도 처음에는 잘 동작됩니다. react-router를 쓰지 않는 React 앱일 경우에는 크게 문제가 없이 페이지전환도 잘 됩니다... 2023. 6. 19. 이전 1 다음