Work/LINUX+SERVER
[NGINX] Reverse Proxy 설정 시 Nginx 에서 Error Page 설정

참고 : http://serverfault.com/questions/511109/nginx-local-fallback-error-page-if-proxy-destination-is-unavailable Nginx 에서 리버스 프록시 설정을 하여 사용할때 에러 페이지의 경우는 Nginx 설정이 아닌 프록시 서버의 설정을 따르게 된다. (Nginx - Tomcat 설정인 경우 Tomcat 에러 페이지가 노출) 이때 Nginx 에서 에러 페이지를 설정하기 위해서는 아래의 옵션을 함께 사용하면 된다. (Server 블록 내에서 사용) server { ... location / { proxy_intercept_errors on; proxy_pass http://localhost:8080/; } error_page..

Work/LINUX+SERVER
[Nginx] 특정 에이전트 로그 제외하기

웹 서버를 운영하다 보면 서버의 로그를 수집하고 모니터링을 하는 부분이 매우 중요해진다. 그런데 로그를 살펴보면 각종 검색엔진의 crawler로 인해 로그가 고통받는걸 볼 수 있다. (어디가든 bot 이 문제야! ㅠㅠ) 그래서 이 bot 들의 로그를 남기지 않기 위해서는 다음과 같이 설정하여 주면 된다. 참조 : https://bjornjohansen.no/exclude-requests-from-nginx-access-log map $http_user_agent $log_ua { ~Pingdom 0; ~Googlebot 0; ~Baiduspider 0; default 1; } server { […] access_log /var/log/nginx/access.log main if=$log_ua; }user..

Work/LINUX+SERVER
[Tomcat] org.apache.catalina.AccessLog 옵션 수정

일반적으로 Tomcat을 사용하여 Virtual Host 설정을 하게되면 해당 Virtual Host 의 access log 를 Tomcat의 org.apache.catalina.AccessLog 를 사용하게 된다. 이때 기본 옵션의 상태로 저장되는 log 의 형태는 prefix + timestamp + suffix 형태가 된다. 이때 중간에 들어가는 timestamp 로 인해 일반적인 다른 로그 프레임워크와는 결과값이 다르게 된다. A : service.access.log / service.access.log-YYYYMMD(D-1) Tomcat default : service.access.YYYYMMDD.log / service.access.YYYYMMD(D-1).log 위와 같은 차이가 발생한다. 이..

Work/LINUX+SERVER
[Tomcat] Data load time out 장애 조치

오늘 개발 중인 테스트 서버에서 장애가 접수되었다. 장애는 특정 데이터를 선택해서 그래프를 그려야 하는데 이 그래프를 그리기 위해서 서버쪽에서 response header 에 많은 chunked data 를 붙여서 응답한다. 근데 이 사이즈가 매우 커서 브라우저에서는 해당 data를 읽지 못하고 장애가 발생한 것. 하여 관련 옵션을 찾아 tomcat server.xml 에 추가 후 restart 하였다. compression="on"maxHttpHeaderSize="8192" 두개의 옵션을 에 추가하여 주었고 다시 확인해보니 그래프 기능이 정상으로 동작하였다.

Work/LINUX+SERVER
[openssl] openssl 버전 업그레이드 하기

리눅스를 사용하면 보안에 중요한 openssl 버전의 업그레이드 방법은 다음과 같다. 현재 서버 버전 확인하기 # opensslOpenSSL> versionOpenSSL 1.0.1e-fips 11 Feb 2013 다음버전을 작성일 기준 최신 버전인 openssl-1.0.2j로 업그레이드 한다. 먼저 openssl 사이트에서 최신 버전을 다운로드 한다. https://www.openssl.org/source/ 다운 받은 최신 버전을 적당한 곳에 압축을 해제하고 # ./config# make && make install 기본적으로는 위와 같은 방법으로 컴파일을 진행한다. 그 후 기존 사용하고 있는 openssl 버전의 위치를 찾아서 백업 후 새로 컴파일 한 openssl를 심볼릭링크 걸어준다. # which..

Work/LINUX+SERVER
[linux] 리눅스 명령어 옵션이 정상적으로 실행되지 않을때

# cp -rf 위 명령을 실행했는데 계속 overwrite 할건지를 물어본다. 분명 -f 옵션을 주었는데. 그럴때는 서버의 alias 설정에 의해 증상이 나타날 수 있다. 간단하게 해결하기 위해서는 해당 명령어 앞에 \(역슬래쉬)를 붙여서 실행한다. # \cp -rf

Work/LINUX+SERVER
[dhcpd] dhcpd.conf for pxe server

allow bootp; allow booting; max-lease-time 60; default-lease-time 60; ddns-update-style none; option domain-name-servers 168.126.63.1, 168.126.63.2; class "PXE" { match if substring(option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 177.7.7.177; # Kick start 서버 ip filename "pxelinux.0"; } subnet 177.7.0.0 netmask 255.255.0.0 { option broadcast-address 177.7.0.255; option routers 17..

Work/LINUX+SERVER
[linux, bind] slave zone file 을 txt 형식으로 저장하기.

출처 : http://blog.renoeve.com/?p=873 최신버전의 bind 에서는 slave에서 기본 저장되는 zone file 이 binary type 으로 저장된다. 이걸 기존의 txt 형식으로 저장하기 위해서는 named.conf 파일의 option에 아래와 같이 추가하여 준다. options { ... masterfile-format text; ... } 이후 named 재시작후 zone file을 확인하여 보면 txt 파일로 저장된 것을 확인 할 수 있다.

Work/LINUX+SERVER
국산 서버 모니터링 서비스 와탭!

사용하는 서버의 수량이 적다면 모르지만 서버가 한대, 두대가 늘어나면 늘어날수록 관리는 점점 어려워진다. 게다가 OS도 각기 다르고 어플리케이션에 DB에 보안문제까지 생각하면 관리만 하더라도 어지간한 중노동이다. 그래서 다양한 모니터링도구들이 존재하지만 사용하기 썩 좋은 것은 드문것이 사실이다. 우리 회사에서는 그래서 최근에 what's up / nagios / elk 등으로 시스템을 구축했는데 해당 솔루션들이 설치와 설정이 그리만만하지 않다. 그러던중 와탭 (whatap) 서비스를 알게됬다. 무료로(기본 Basic 상품 - 24시간만 데이터 장) 간편하게 서버 모니터링을 할수 있다. 설치도 설정도 매우 쉽다! 일단 https://www.whatap.io/ko.html 사이트에서 가입을 하고 로그인을 하..

Work/LINUX+SERVER
[Fedora 10] 구 웹서버를 VM으로 P2V 하기.

근무하고 있는 서버실에 구형 웹서버가 매우 많아 2012년 부터 vSphere 를 도입하여 꾸준히 P2V 해왔다. 일반적으로 노멀한 타입은 쉽게 P2V가 되고 LVM으로 되어 있는 서버는 5.0 버전부터 Converter가 디스크 옵션에서 LVM타입을 지원하여 역시 쉽게 (해결하고 나면 모든 다 쉬운 법이다.) P2V가 된다. 다만 Software raid 형식은 Convert로는 되지 않아 직접 셋팅하여 옮겨줘야 한다. (내가 아는 한에선 ...) 오늘은 Fedora 10 OS를 사용하는 머신을 P2V하고 부팅을 하자 다음과 같은 장애가 발생했다. /dev/sda3 on /sysroot mount: mounting /dev/sda3 on /sysroot failed: no such file or dir..