Infra 4

[NginX] NginX 502 Error 문제 해결

잘 실행되던 서비스가 다운되는 일이 생겼다... Github Action 에서 수동으로 재배포해주면 해결되긴 하였는데, 다운되는 일이 최근 잦아졌다. 백엔드 엔드포인트 url로 접속하면 위와 같이 502 에러가 떴다. (필자는 CloudFlare를 앞에 붙여둬 CloudFlare의 에러화면이 뜬다.) 아무리 개인 프로젝트라해도 적지 않은 사람들이 사용하는 서비스인데 문제가 있다 판단하였고 바로 해결을 시도하였다. 하지만 생각보다 문제 원인을 찾기가 쉽지않았다. 구글링, 개발관련 오픈톡방, ChatGPT, 지인 등을 총동원해 원인을 분석해보았다. 먼저 CloudFlare에서 문제가 발생한게 아닐지 확인해보았다. 하지만 이전에 문제 발생 시, 재배포해주면 해결되었기에 이는 CloudFlare의 문제보다는 A..

[AWS] CodeDeploy 로그 확인하는 법

ec2에 배포 후 문제가 발생할 수 있다. CI에 문제가 없다면 CD 쪽을 살펴야하는데 필자는 AWS의 CodeDeploy를 사용했다. codedeploy의 로그 파일은 깊숙한 곳에 숨어있어 찾기 어려운 경우가 많은데, 리눅스의 tail 명령어를 사용하면 손쉽게 확인할 수 있다. tail -f /opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log 리눅스의 tail 명령어는 파일의 마지막 행을 기준으로 지정한 행까지 파일 내용 일부(기본값은 마지막 10줄)를 출력해주는 명령어이다. tail 명령어는 일반적으로 로그와 같이 실시간으로 변하는 파일을 분석하는데 많이 사용된다. -f 옵션은 tail을 종료하지 ..

Infra/AWS 2023.01.25

[Web Server] 웹 서버란? (웹 서버와 WAS의 차이)

웹 서버란 무엇일까? 우선 웹 서버를 하드웨어 관점과 소프트웨어 관점으로 나누어 보아야한다. 하드웨어 관점 '웹 서버의 소프트웨어'와 웹 사이트의 '컴포넌트 파일'들을 저장하는 컴퓨터 (컴포넌트 파일 : HTML, CSS, JS, 이미지) 웹 서버는 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹 서버의 데이터(컴포넌트 파일들)를 주고 받을 수 있도록 한다. 소프트웨어 관점 웹 사용자가 어떻게 호스트 파일에 접근하는지를 관리 웹 서버는 HTTP 서버 형태로 존재(웹 구현 시)하며, HTTP 서버는 HTTP의 소프트웨어 일부 위 두 가지 관점을 합쳐 보면 웹 서버는 브라우저가 HTTP를 통해 파일을 요청했을 때, 요청이 올바른 웹 서버(하드웨어)에 도달하면, HTTP 서버(소프트웨어)가 요청된 문서를 HT..

[Cloudflare] ec2로 배포한 서버에 무료로 https 설정하는 법 (Mixed Content 에러 해결법)

Mixed Content 에러... 프론트를 https로 배포 후 http로 서버와 통신하려하면 발생하는 문제다. 이 문제를 해결하기 위해서는 백엔드에서 http -> https로 접근할 수 있게 설정을 해줘야한다. 필자는 Spring Boot로 api를 개발하여 AWS EC2에 배포한 상황이였고 https로 설정하기 위해 찾아본 방법 중 간단하고 저렴한 방법에는 아래와 같은 방법들이 있었다. 1. AWS CloudFront 먼저 AWS의 CloudFront를 활용한 방법이다. 클라이언트가 https로 CloudFront와 통신을 하고 CloudFront와 api를 제공하는 주체는 http로 통신하는 것이다. ACM을 사용하면 ssl 인증서를 공짜로 이용할 수 있다. 후술하겠지만 CloudFront는 C..

Infra/Cloudflare 2023.01.25
반응형