전체 글

전체 글

    AWS를 이용한 운영 서버 환경 구축

    인스턴스 생성 bitvise를 통해 접속 보안그룹 생성 보안그룹 변경 nvm(노드 버전 관리자: Node Version Manager) 설치 [ec2-user@ip-172-31-38-230 ~]$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash [ec2-user@ip-172-31-38-230 ~]$ nvm install 10.13.0 [ec2-user@ip-172-31-38-230 ~]$ node -e "console.log('Running Node.js ' + process.version)" 25 ~ 42페이지 소스코드 배포 git 설치에 필요한 패키지 설치 [ec2-user@ip-172-31-38-..

    아파치(apache) VS 엔진엑스(nginx)

    아파치(apache) 요청 하나 당 프로세스(또는 스레드)가 처리하는 구조 요청이 많을수록 CPU와 메모리 사용이 증가하기 때문에 성능 저하가 있을 수 있다. Apache서버의 프로세스가 블록킹(blocking)되면 요청을 처리하지 못하고, 처리가 완료 될 때까지 계속 대기 이와같은 문제들은 Keep Alive를 활성화 함으로써 해결이 가능하지만, Keep Alive때문에 대량 접속 시 효율이 급격하게 떨어지는 또 다른 문제점이 발생 Keep Alive HTTP프로토콜의 특성상 한 번 통신이 이루어지면 접속을 끊어버리지만, KeepAlive On 상태에서는 KeepAliveTimeOut 시간동안 접속을 끊지 않고 다음 접속을 기다립니다. 즉, 한번 연결된 클라이언트와 통신을 유지하고 있기 때문에, 다음 ..

    웹 서버(WS) VS 웹 어플리케이션 서버(WAS)

    웹 서버 정적 페이지(html, css) 처리 클라이언트(웹 브라우저)로 부터 HTTP방식으로 정적인 자원을 요청받아 그에 맞는 응답을 제공해주는 프로그램 자체적으로 처리할 수 없는 동적인 자원(jsp, php, asp.net, db연동 등)을 웹 컨테이너로 넘겨주고 컨테이너에서 처리한 결과를 다시 받아 클라이언트에게 제공해주는 역할 대표적으로 Apache, IIS, WebtoB 등이 있다. 컨테이너 웹서버가 보낸 JSP, PHP, ASP.net등의 파일을 실행하고 수행 결과를 다시 웹 서버로 보내주는 역할을 한다. 대표적으로 자카르타 톰캣, RESINE, 웹로직, 웹투비 등이 있다. 웹 어플리케이션 서버 동적 페이지 처리 웹 서버와 컨테이너가 합쳐진 형태 인터넷 상에서 HTTP를 통해 어플리케이션을 수..

    [python] 프로그래머스 > 가장 큰 수

    1. 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 2. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 3. 입출력 예 numbers return..

    우분투 네트워크간 접속, 포트포워딩

    스니핑이란? : 서로 데이터 훔쳐보기 암호화 : 중간에서 훔쳐봤을 때 데이터를 보호하는 방법 1. 암호화 된 데이터를 복호화해서 원문을 보는 것(데이터 암호화) 데이터 암호화를 하기 위해서는 암호화에 사용된 키를 공유하고 있어야함 2. 프로토콜 자체가 데이터가 지나ㅣ가는 구간 자체를 제 3자가 봤을 때 모르도록 함. 통신채널을 암호화 ex ) ssh, tls, Client Ubutu Server 서로 오가는 데이터를 보호하기 위해서 SSH Client SSH Server ~~~~~~~ Putty(인터페이스가 조금 후짐),BItvise Bitvise SSH Client Download https://www.bitvise.com/ssh-client-download ⇐ 다운로드 페이지 https://dl.bi..

    VPC(Virtual Private Cloud)

    VPC - 네트워크 계층 - EC2 인스턴스를 비롯한 여러 AWS 서비스의 리소스를 담을 수 있는 가상 네트워크 - 한 AWS 리전 안에서만 존재할 수 있고, 한 리전에 만든 VPC는 다른 리전에서는 보이지 않음 - 네트워킹이 가능하도록 만들어주는 서비스 - 연속적인 IP 주소 범위로 구성 => CIDR 블록으로 표시 - 10.0.0.0/8 => 10.0.0.0 ~ 10.255.255.255 - 172.16.0.0/12 => 172.16.0.0 ~ 172.31.255.255 - 192.168.0.0/16 => 192.168.0.0 ~ 192.168.255.255 서브넷 (subnet) - VPC 내 논리 컨테이너 - EC2 인스턴스를 배치하는 장소 = 인스턴스는 서브넷 안에 위치 - 한번 서브넷이 인스턴..

    리다이렉트(Redirect) & 포워드(Forward)

    클라이언트 서버 GET /main.gif HTTP/1.1 -----------------------------------------------------> HTTP/1.1 200 OK ⇐ 이미지가 있는 경우 HTTP/1.1 404 Not Found ⇐ 이미지가 없는 경우 id, pw가 일치하는 정보가 존재하지 않으면 HTTP/1.1 200 OK + 응답본문에 오류 메시지를 포함한 로그인 페이지가 반환 id, Pw가 일치하는 정보가 존재하면 HTTP/1.1 302 Move Temp Location: /main.jsp +---------------------------------------------------+ main.jsp HTTP/1.1 200 OK | main login.jsp : HTTP/1.1 ..

    보안 개념 3가지

    식별(Identification) : 누군지를 먼저 알아야함 인증(Authentication) : 그 사람이 맞다는 것을 증명(내가 맞다는 것을 알려줄 정보가 있어야 함) - 지식기반 => 패스워드 -> 보안 취약하기 때문에 앞으로 없어질 것임 - 소유 => OTP(그 사람만 가지고 있는 것), 스마트폰, 공인인증서, 주민등록증,... - 특징 => 성문, 지문, 정맥, 홍채,..., 필기체 서명,... 인가(Authorization) : 인증받은 사용자가 그 행위를 할 수 있는지 없는지 권한을 부여하는 것 - 화면 - 기능 - 데이터