Server, WAS: 43개의 글
1. Round Robin - Real Server로 session을 순차적으로 맺어주는 방식. - 현재의 서버가 가지고 있는 session수는 관여하지 않음. - weighting 옵션이 지원됨. 모든 클라이언트는 동일하게 취급되며 실서버 혹은 경로는 같은 처리량을 보유해야 함. SLB에 많이 사용되며 만약 각기 다른 처리 능력을 가진 서버가 있을 경우 weigted round-robin 알고리즘이 더 효율적. roundrobin은 리얼서버의 마지막 번호를 가진 서버로부터 출발하여 순차적으로 세션을 맺도록 해주는 로드밸런싱 기법. 예를 들어 5대의 서버가 있다면.. 5, 4, 3, 2, 1, 1, 2, 3, 4, 5, 4, 3, 2, 1........ 위와같은 순서로 로드밸런싱 하게 됨. 특별한 서비스..
TLS : Transport Layer SecuritySSL : Secure Sockets Layer웹 브라우저와 웹 서버 간의 통신을 안전하게 보장하는 기술이다.데이터를 보낼 때 데이터를 암호화하고, 데이터를 받을 때 암호화된 데이터를 복호화 하는 식의 기본 구조를 갖는다.이 통신 구조는 양방향 이기 떄문에, 웹 브라우저와 웹 서버 모두 데이터를 내보낼 때 암호화를 진행한다.TLS / SSL 인증웹 브라우저에서 암호화된 연결로 웹 서버와 통신하려고 하면, 웹 서버에서 브라우저에게 몇가지 증명서(Certificate)를 요구한다.이 증명서는 클라이언트 인증 (Client Authentication) 이라고 하며, 개인 사용자 간 보다는 B2B 형태에서 더 많이 사용된다.대부분의 SSL-enabled 웹 ..
그냥 기본 설정 값으로 사용하기 위해서 정리한 내용입니다. 서비스 특성과 장비 사양에 맞게 값은 수정해서 사용하시길 권장 합니다.[기본설정][Tomcat 만 사용] [Httpd + Tomcat 사용][주석포함][Tomcat 만 사용] [Httpd + Tomcat 사용] 출처: http://jjeong.tistory.com/693 [jjeong]
Apache를 이용하여 웹 서비스를 하다보면 사용자의 접속로그등이 서버에 누적되게 된다. 이 로그를 기본으로 사용할 경우 1개 페이지의 접속에 대하여 상당히 많은양의 로그를 남기게 되는데, 예를들어 A라는 사용자가 HTML로 구성된 1.jsp를 호출한다고 하였을때 아파치 로그는 1.jsp 안에 포함되어 있는 모든 이미지, css, js 등을 모두 접속로그로 기록하게 된다. 이러한 이유로 log의 크기가 급격하게 커지게 되고, 이는 서비스의 영향을 줄 수도 있는만큼 상황에 따라 적절하게 적용하면 좋다. 특정항목들에 대해 로그 기록을 제외시킬수 있는데, 오늘은 이미지를 제외시키는 방법을 예제로 확인해 보겠다. 1. log_config_module 수정 우선 ${Apache_HOME}/conf/httpd.co..
아파치를 운영해본 사람들은 알겠지만 아파치에서 쌓는 접속 로그는 별다른 설정을 하지 않으면 해당 파일에 계속 로그를 쌓게 된다. 즉 1개 파일에 10GB, 20GB 등등 계속 쌓게 되는데, 사실 아파치 로그가 필요 이상으로 커지는것은 좋지 않다. 사용자가 접속을 할때마다 Apache는 로그를 남겨야 하는데, 로그 파일의 사이즈가 클 경우 마지막줄에 로그를 기록하는데 시간이 오래걸려 오히려 아파치 성능이 떨어지는 문제가 발생한다. 또한 로그 분석 및 보관시에도 불편함이 따르므로 가급적이면 로그를 월별 또는 일별로 저장되게끔 하는게 좋다. 아파치 로그를 월별 또는 일별로 저장되게 하기 위해서는 "${APACHE_HOME}/bin/rotatelogs" 를 이용하여 설정해주면 된다. Apache의 설정파일이나 ..
우리가 인터넷을 사용할때 사용하는 브라우저는 웹페이지 접근시에 이미지, 문서 등과 같은 파일을 임시로 하드디스크에 저장한다. 이를 웹브라우저 캐시라고도 한다. 하드디스크에 저장하는 이유는 이후 동일 사이트 접속시 미리 최근에 저장해놓은 파일들을 이용하여 웹 페이지를 빠르게 로딩하기 위함이다. 하지만 캐시는 영원히 디스크에 남는것이 아니고, 주기적으로 삭제가 된다. 웹 브라우저는 단지 최근에 방문한 사이트만의 캐시만을 가지고 있을 뿐이다. 사실 개발자 입장에서는 캐시를 적절하게 사용하면 웹사이트의 성능을 높일 수 있다. 예를 들어 나같은경우 에전에 진행했던 프로젝트에서 한 화면에 노출되는 이미지의 용량이 엄청났었는데, 사용자가 웹페이지에 접속하면 이미지들을 불러오느라 꽤 많은 시간이 소요되는것을 확인하였다..
일반적으로 웹서비스는 미리 정해진 DocumentRoot 안에 디렉토리 및 파일들을 대상으로 서비스를 한다. 사실 심볼릭 링크도 링크파일로 존재하는 것 이기 때문에 이마저도 싫다 하면 Alias를 이용하여 가상의 디렉토리를 생성하는것을 추천한다. 아파치에서 제공하는 Alias는 물리적인 경로가 다른 디렉토리를 가상의 디렉토리로 설정하여 웹 서비스에서 접근할 수 있도록 도와준다. 아파치 설정파일인 httpd.conf 또는 virtualhost 파일을 열어 서비스하고 있는 곳에다가 Alias 구문을 작성해 주면 된다. DocumentRoot /home/tour/test/cms/WebContent ServerName cms.test.co.kr ServerAlias cms.test.co.kr ServerAdmi..
기존에 운영하던 서비스중에서 http 80 포트로 운영하던 서비스가 있었다. 해당 서비스에 SSL을 적용해야 하는 이슈가 발생하였는데, 특정 페이지에 대해서 SSL을 적용하는게 아닌 전체 사이트에 SSL을 적용하는것으로 방향을 잡고 진행하였다. 기존에 http로 접속하던 사용자들이 있기에, http를 통한 80포트 접근시 강제로 https로 전환되는 리다이렉트 처리가 필요했다. 어느 레벨에서 리다이렉트를 시킬까 생각하다가 그냥 편하게 apache에서 리다이렉트 하기로 결정하였다. 리다이렉트 처리는 httpd.conf 에서 설정하거나 하는데, 우리 회사는 httpd-vhost 를 사용하므로 해당 파일에 리다이렉트 구문을 추가하였다. 아래와 같이 리다이렉트 될 URL을 지정해 주면 된다. ServerAdmi..
지난번에 리눅스 시스템내에서 심볼링 링크를 생성하고 삭제하는 방법을 포스팅한적이 있다. 오늘은 Apache 와 Tomcat에서 심볼링 링크를 일반 디렉토리와 동일하게 읽을수 있도록 설정하는 방법을 포스팅하겠다. Apache와 Tomcat은 기본 설정으로는 심볼릭 링크를 읽지 못한다. 이는 보안 측면으로 기본설정에서 막아둔 것인데 간단한 옵션 설정을 통해 설정변경이 가능하다. 1. Tomcat $TOMCAT_HOME/conf/server.xml 파일을 열어 Context 구문에 allowLinking="true" 를 지정해 주면 된다. 2. Apache2 $APACHE_HOME/conf/httpd.conf 파일을 열어 태그 밑에 Options FollowSymLinks 를 지정해주면 된다. Options ..
예전에는 jsp 등과 같은 서블릿를 이용한 웹 서비스를 할때 보통 was 앞단에 httpd 서버를 두고 서비스를 했다. 물론 어디까지내 내 생각이긴 하지만 오래전 우리나라에서는 apache + tomcat, webtoB + jeus 조합이 가장 널이 사용되는 조합이었다. 지금은 톰캣의 성능이 많이 좋아져서, 사실 apache 등과 같은 httpd 를 두지 않아도 된다. 예를들어 xml, json 과 같은 동적 문서만을 서비스하는 경우 굳이 httpd를 사용할 필요는 없다. httpd를 연동 할것인가 아닌가는 서비스의 목적, 시스템 구성에 따라 고려해야 하는게 맞다. 개인적인 소견으로는 맹신적인 httpd + 서블릿 컨테이너의 조합은 옳지 않다. 그럼에도 불구하고 내가 apache와 tomcat을 실제 서..