목록2024/03 (4)
지석이의 일기
이번에 세미 프로젝트용으로 채팅을 구현하기로 했다. 서버는 Spring boot , 프론트는 React 로 구성했다. 채팅 기술스택은 websocket 을 사용하려고 한다. WebSocket의 기본 원리 WebSocket 프로토콜은 ws (또는 보안 연결을 위한 wss) 스키마를 사용하여 작동. 클라이언트(보통 웹 브라우저)는 WebSocket 객체를 생성하여 서버에 연결을 시도한다. 이 연결 과정은 HTTP 프로토콜을 사용하여 시작되며, Upgrade 헤더를 통해 WebSocket 연결로 전환. 연결 과정 핸드셰이크 요청: 클라이언트는 서버로 HTTP 요청. 이 요청에는 Upgrade: websocket과 Connection: Upgrade 헤더가 포함되어 WebSocket 연결로의 전환을 요청. 핸드..
이 저번에 react 프로젝트를 만드는 방법을 포스팅했었다. https://jisoekdays.tistory.com/24 이번에는 그 프로젝트를 서버에 올려서 다른 사람들도 접속할수있도록 구현을 하고 싶다. 현재 팀 사이드 프로젝트를 진행중이다. 그래서 msa 아키텍처를 다음과 같이 구성했다. 서버는 ec2 서버 2개를 받아서 FrontEnd 와 BackEnd 2개를 구현할 예정이다. 만일 AWS 서버 호스팅 방법에 대해서 궁금하면 https://jisoekdays.tistory.com/2 여기서 확인하자. React는 단순 정적 프로젝트로서, nginx에서 호출시킬 예정이다. 통상 S3 + CloudFront를 받아 배포시키지만, 나는 Web서버에 다른 기능들도 넣을 예정이라 ec2를 받아 위와 같이 ..
메타 데이터를 수정하는 과정에 다른 아이디 계정으로 수정하고 톰캣을 부팅하면서 뭔가 꼬인듯하다... 구글링 검색 결과 tomcat 디렉터리에 work를 삭제하고 재부팅하면 된다고 한다. sudo rm -rf work 로 work 디렉토리를 삭제하고 톰캣을 재부팅 하니 정상적으로 구동된다.
어느날 갑자기 홈페이지에서 타임 오버 에러가 났다. 부랴부랴 서버에 가서 nginx와 tomcat 을 재기동 해봤지만 여전히 에러가 났다. 혹시나 싶어 클라우드 방화벽까지 전부다 off를 시켜봤지만 여전히 되지 않는다. 지금부터 모든 과정을 다 정독했고, 풀이로 가보겠다. 트래픽이 1번째로 만나는 방화벽은 클라우드 방화벽이다. 통상 클라우드 서버를 호스팅하면 클라우드 방화벽이라 하여, 인바운드(inbound) 아웃바운드( outbound)를 설정하게 된다. 여기서 http(80) https(443) 22(sftp)등등을 오픈한다. 1번이 정상적으로 통과 됬는지(클라우드 서버를 못믿어서), 확인하려면 tcpdump를 사용해보면 된다. sudo tcpdump -i eth0 tcp port 80 를 하게 되면..