WebSocket HTTPS Connection 문제 해결하기
·
Project
문제 상황개발 환경에서는 아무런 문제 없이 잘 되던 채팅이운영 서버에서는 안 되는 문제가 발생했다.서버의 로그를 확인해보니 아래의 오류가 발생했다.원인 가정과 문제해결1. 요청에 Upgrade 헤더 미포함우선 에러 메시지를 보고 가장 먼저 클라이언트의 요청에서Upgrade헤더가 미포함되었는지 확인했다.하지만 실제로 확인해보니 stomp.js를 사용하고 있어 자동으로 포함되어 있다는 것을 알 수 있었다. 2. ELB 설정 문제로 웹소켓 헤더 유실ELB(Elastic Load Balancer)에서 지연 시간 설정을 짧게 설정할 경우 요청이 유실될 수 있다. 하지만 확인해보니 운영 서버는 ELB를 사용하고 있지 않았다.따라서 이것도 문제의 원인이 아니었다. 3. EC2 Nginx 설정 문제로 웹소켓 헤더 유..
Nginx 알아보기
·
Infra
Nginx란?Nginx는 웹 서버로 트래픽이 많은 WAS(Web Application Server)를 도와주는 비동기 이벤트 기반구조의 웹 서버 프로그램이다.주요 특징으로는 - 가볍고 빠름- 로드 밸런싱 제공- 리버스 프록시 지원- SSL/TLS 적용 가능 등이 있다. Web Server 와 WAS(Web Server Application)의 차이웹 서버는 클라이언트(브라우저)의 요청을 받아 정적인 파일(HTML, CSS, JS, 이미지 등)을 제공한다.WAS는 웹 서버가 처리하지 못하는 동적인 웹 애플리케이션을 실행하는 서버이다. 즉, 사용자의 요청을 받아 비즈니스 로직을 수행하고 DB와 연동하여 결과를 반환한다.Nginx 등장 배경1995년 최초의 웹서버인 유닉스 기반의 NCSA HTTPd가 있었다...
AWS EC2 nginx에 프론트엔드 직접 배포하기
·
Practice
EC2에서 nginx에 정적으로 파일을 올려 프론트엔드 프로젝트를 배포하는 방법을 강의를 듣고 따로 찾아보며 정리해 봤다. 가장 먼저 AWS에서 EC2를 하나 생성하고 ssh를 이용해 접속해 준다.그다음 apt 명령어를 통해 nginx를 설치해준다.  그 다음 curl localhost:80을 입력해 현재 nginx가 정상적으로 동작하고 있는지 확인한다.curl을 사용하면 터미널에서 직접 HTTP 요청을 보내고 응답을 받을 수 있다.위 스크린샷처럼 제대로 nginx가 정상적으로 실행중임을 확인할 수 있다. 하지만 웹 브라우저로 EC2의 퍼블릭 ip로 접속을 해보면 접속이 안된다.그 이유는 ssh로 접속했을 때는 local에서 호출해서 문제없었지만외부에서 접속하려고 하면 방화벽에 막히기 때문에 정상적으로 ..