참고 : 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..
웹 서버를 운영하다 보면 서버의 로그를 수집하고 모니터링을 하는 부분이 매우 중요해진다. 그런데 로그를 살펴보면 각종 검색엔진의 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..
일반적으로 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 위와 같은 차이가 발생한다. 이..
오늘 개발 중인 테스트 서버에서 장애가 접수되었다. 장애는 특정 데이터를 선택해서 그래프를 그려야 하는데 이 그래프를 그리기 위해서 서버쪽에서 response header 에 많은 chunked data 를 붙여서 응답한다. 근데 이 사이즈가 매우 커서 브라우저에서는 해당 data를 읽지 못하고 장애가 발생한 것. 하여 관련 옵션을 찾아 tomcat server.xml 에 추가 후 restart 하였다. compression="on"maxHttpHeaderSize="8192" 두개의 옵션을 에 추가하여 주었고 다시 확인해보니 그래프 기능이 정상으로 동작하였다.
리눅스를 사용하면 보안에 중요한 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..
# cp -rf 위 명령을 실행했는데 계속 overwrite 할건지를 물어본다. 분명 -f 옵션을 주었는데. 그럴때는 서버의 alias 설정에 의해 증상이 나타날 수 있다. 간단하게 해결하기 위해서는 해당 명령어 앞에 \(역슬래쉬)를 붙여서 실행한다. # \cp -rf
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..
출처 : http://blog.renoeve.com/?p=873 최신버전의 bind 에서는 slave에서 기본 저장되는 zone file 이 binary type 으로 저장된다. 이걸 기존의 txt 형식으로 저장하기 위해서는 named.conf 파일의 option에 아래와 같이 추가하여 준다. options { ... masterfile-format text; ... } 이후 named 재시작후 zone file을 확인하여 보면 txt 파일로 저장된 것을 확인 할 수 있다.
사용하는 서버의 수량이 적다면 모르지만 서버가 한대, 두대가 늘어나면 늘어날수록 관리는 점점 어려워진다. 게다가 OS도 각기 다르고 어플리케이션에 DB에 보안문제까지 생각하면 관리만 하더라도 어지간한 중노동이다. 그래서 다양한 모니터링도구들이 존재하지만 사용하기 썩 좋은 것은 드문것이 사실이다. 우리 회사에서는 그래서 최근에 what's up / nagios / elk 등으로 시스템을 구축했는데 해당 솔루션들이 설치와 설정이 그리만만하지 않다. 그러던중 와탭 (whatap) 서비스를 알게됬다. 무료로(기본 Basic 상품 - 24시간만 데이터 장) 간편하게 서버 모니터링을 할수 있다. 설치도 설정도 매우 쉽다! 일단 https://www.whatap.io/ko.html 사이트에서 가입을 하고 로그인을 하..
근무하고 있는 서버실에 구형 웹서버가 매우 많아 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..