본문 바로가기

Development

(14)
XMPP 이해하기 1. XMPP 란? - The Extensible Messaging and Presence Protocol의 약자로 말 그대로 확장가능한 메시징과 상태를 위한 규격이다. XML을 기반으로하는 메시징 지향 미들웨어용 통신 프로토콜로 보면된다. 간단하게 대입하면 구글톡에서의 유저의 상태(온라인/자리비움/오프라인)와 유저간의 양방향 채팅을 할때 통신에 사용되는 것으로 이해 하면 된다. 원래는 Jabber라는 이름으로 개발되어 오다가 XMPP로 국제 인터넷 표준화 기구에서 규정하였다. 2. XMPP Protocol - 넷상의 두 지점간의 통신 규격을 정의한 것으로 user@server.com/mobile 과 같은 이메일 형식으로 각각의 지점이 표현되고 양 지점간의 메시징, 상태값들이 실시간으로 전달이 가능하게 ..
SSL 프로토콜 1. Handshake - SSL이 암호화 처리를 하기 위해서 정보를 결정하는 단계이다. - TCP에서의 3-Way Handshake(SYN-SYN/ACK-ACK)와는 다른 것이다. - TCP의 3-Way Handshake가 수행된 후, 이 Handshake를 이용하여 암호화 방식, 키, 해쉬 함수 등을 암호화를 위한 정보를 결정한다. 그 정보를 사용해 데이터를 암호화하여 전송한다. 2. 사용 방식 결정 - 어떤 방식을 사용해서 작업할 것인지 결정한다. a. Client Hello . Client는 서버로 'Client Hello'로 클라이언트가 사용할 수있는 조합 리스트를 제시한다. . 암호화 방식, 압축알고리짐과 함께 앞서 설명한 다이제스트 생성을 위한 해쉬 함수등의 리스트를 제시한다.Client H..
SSL이란? 1. SSL 이란? - 'SSL(Secure Socket Layer)'은 인터넷 통신을 위한 암호화/복호화 프로토콜이다. 2. HTTPS 란? - 'HTTPS(HTTP over SSL)'은 서버와 클라이언트 사이의 HTTP 통신을 암호화 하여 사용함을 나타낸다. - 브라우져 상에서는 'https://~' url을 사용하고 브라우저 마다 다르지만 앞에 주소 앞에 자물쇠 마크를 표시한다. 3. SSL 왜 쓰는가? - 도청 : 중요 데이터들이 암호화 되지 않으면 중간에 데이터 노출되는 경우. . ssl 암호화 되어 있기 때문에 중간에 노출되어도 복호화 하지 못 한다. - 변조 : 목적지에 데이터가 도착하기 전에 중간에 변경을 하는 경우. . ssl 에서는 정보가 변조되었는지 확인 하기 위해 데이터 자체에 계산..
#3 Nginx의 기타 코어 HTTP 모듈 1. 단순 사이트를 위한 동적 SSI 사용- 서버측 인클루드 기능(SSI, Server-Size Include)를 지원한다.- 필요로 하는 작은 모듈단위의 페이지를 큰 페이지 안에 간단히 포함시킬떄 사용된다. block도 생성이 가능하며 include 지시어로 다른 자원을 포함시키거나 echo 지시어로 nginx 구문안에서 임의의 변수 값을 출력할 수도 있다. server { ... location / { ssi on; root /var/www/www.ggang9.com; } } the header 2. 특정 페이지 앞뒤에 콘텐츠 추가- 적정인 헤더,푸터등을 자동적으로 추가해 주는 기능. (기본설치에서는 빠져있다.) server { listen 80; server_name www.ggang9.com; l..
#2 환경 설정하기 1. 가상 호스트 환경 설정하기 server { listen 80; server_name www.ggang9.com ggang9.com; access_log /var/log/Ngninx/ggang9.com/access.log; error_log /var/log/Ngninx/ggang9.com/error.log; location / { root /ver/log/www.ggang9.com; index index.html index.htm; } } - listen : 웹서버가 listen하고 있는 포트를 정의한다. - server_name : 지시를 통하여 현재 가상 호스트 환경설정에 대응되는 도메인을 정의할 수 있다. - location { . 가상 호스트가 처리해야할 동작을 정의한다. . 위의 예제에서는 ..
#1 Nginx 설치하기 1. Ngnix 구하기 - 가장 최신의 Stable 버전 http://nginx.org/download/nginx-1.4.4.tar.gz 2. 압축풀기 - 적당한 곳에 다운 받아서 압축을 해제. tar -xvzf nginx-1.4.4.tar.gz 3. 환경설정 - 우선 PCRE(Perl Compatible Regular Expressions) 설치가 필요하다. http://mac-dev-env.patrickbougie.com/pcre/ - 설정이 가능한 옵션들 중에서 필요한 부분을 설정한다. (pcre 모듈 설치를 하긴 했는데.. 계쏙 머시기 오류가 계속 났는데 일단 무시 -_-;;) ./configure --prefix=/usr/local --with-http_ssl_module --without-ht..