728x90

Dev/Server 18

Apache/Tomcat 400, 404, 500, 503 에러 페이지 처리 및 보안 취약점 권고조치

target: Apache와 Tomcat에서의 400 / 404 / 500 / 503 에러코드별 처리 및 보안 취약점 권고조치 method: 1. Error Code 400 Bad Request - 잘못된 요청 구문, 유효하지 않은 요청 메시지 프레이밍 또는 변조된 요청 라우팅 감지 404 Not Found - 요청한 리소스를 찾을 수 없음 500 Internal Server Error - 서버 응답 에러 503 Service Unavailable - 서비 다운 혹은 오버로드 1. Apache Apache의 httpd.conf에 직접 ErrorDocument를 설정하거나, httpd-vhosts.conf까지 확장하여 사용중인 경우, httpd-vhosts.conf의 VirtualHost 태그 내에서 추가..

Dev/Server 2022.11.22

[Linux] Keepalive

target: TCP Keep alive method: TCP Keep alive 3-way handshake를 통해 연결된 세션을 없애지 않고 계속 사용하는 방식 [그림 1] TCP Keepalive 환경에서의 패킷 흐름. [그림 1]과 같이 TCP Keepalive는 일정 시간이 지나면 연결된 세션이 살아있는지 확인하기 위해 아주 작은 양의 패킷을 하나 보낸다. 패킷은 연결을 유지하기 원하는 쪽에서 보낸다. 패킷을 주고 받은 다음에 타이머는 원점으로 돌아가고 카운트를 진행한다. ss 명령으로 간단히 Keepalive를 확인할 수 있다. -o 옵션을 주면 timer의 정보도 볼 수 있다. ss -otn -o : Show timer information. -t : Display only TCP socke..

Dev/Server 2022.11.04

[Linux] 리눅스 IP 확인

target: 리눅스 환경에서 IP 확인 method: 리눅스(Linux)에서 IP를 확인하는 여러가지 방법이 있습니다. 1. hostname -I (대문자 i) $ hostname -I 172.16.15.56 2. ifconfig ifconfig 명령어를 입력하여 IP 정보와 서브넷 마스크, 브로드캐스트등의 다른 정보들도 함께 확인할 수 있습니다. $ ifconfig ens160: flags=4163 mtu 1500 inet 172.16.15.56 netmask 255.255.255.0 broadcast 172.16.15.255 inet6 fe80::250:56ff:feba:fla8 prefixlen 64 scopeid 0x20 ether 00:50:56:ba:fl:a8 txqueuelen 1000 (..

Dev/Server 2022.10.25

[nginx] nginx서버 사용 시, client ip 처리

target: nginx를 통한 포트포워딩 또는 로드밸런싱 운용인 경우, client ip 확인 method: 일반적으로 개발서버의 경우 이상이 없거나, 단순 Web/WAS 서버만 운용중인 경우, 현상을 확인할 수 없다. Client IP는 접속자에 대한 기본 정보로써, 해당 사용자가 어떤 작업을 진행중 오류가 발생하였는지에 대한 debug 용도나, 특정 IP의 지속적인 DDOS 공격등에 대한 대비책으로 로그를 수집하여 확인하는 용도이다. 아래 내용은 원글을 그대로 작성한 내용이며, 실제 원글의 주소는 아래의 source에서 확인할 수 있다. 클라우드와 K8S 사용이 많아지면서 Load Balancer나 Proxy를 사용하는 환경이 너무나 당연하게 되었다. 서비스에서 클라이언트의 IP 정보를 기반으로 비..

Dev/Server 2022.10.11

[Apache] 503 에러 커스텀 페이지 처리(WAS 서버 오류시)

target: WEB - WAS 분리시킨 서버의 경우, WAS에 문제가 발생한 경우, WEB 서버에서 503 커스텀 에러 노출 method: 1. httpd.conf ... (중략) ... #Alias /error/ {error page path} (에러 페이지 경로가 WEB ROOT에서 긴 경우 사용) ErrorDocument 404 /common/error/code404.jsp ErrorDocument 500 /common/error/code500.jsp ErrorDocument 503 /error/code503.html ... (중략) ... ※ 기본적인 ErrorDocument를 설정 ※ 404, 500 에러는 Tomcat의 web.xml에서 설정이 추가적으로 필요(reference 참고) ※ W..

Dev/Server 2022.10.11

[curl/telnet] 대상 서버 포트 오픈 여부 확인

target: 대상 서버의 특정 포트가 오픈되어져 있는지 확인 method: 1. Telnet $ telnet 192.168.0.20:8200 # Success Case Trying 192.168.0.20... Connected to 192.168.0.20. Escape character is '^]'. # Failure Case1(대상 서버는 정상이나, 포트가 비활성화 상태인 경우) Trying 192.168.0.20... telnet: Unable to connect to remote host: Connection refused # Failure Case2(대상 서버(호출한 ip)가 존재하지 않는 경우) Trying 192.168.0.40... telnet: Unable to connect to re..

Dev/Server 2022.09.30

[Tomcat] session timout & error page

target: Session Timeout 및 Error page 설정 (404, 500, 503) method: #프로젝트 base path = ${basePath} #${basePath}/WEB-INF/web.xml index.jsp #session timeout은 분(minutes)단위 60 COOKIE #404에러 발생시 ${basePath}/code404.jsp 리턴 404 /code404.jsp #500에러 발생시 ${basePath}/code500.jsp 리턴 500 /code500.jsp warning: 404 Error와 500 Error는 Tomcat에서 일반적으로 페이지를 찾을 수 없거나, business 로직상의 문제이므로 서버 자체 문제가 아님 따라서 별도의 에러페이지를 제작한 경..

Dev/Server 2022.07.21

[Exception] java.sql.SQLRecoverableException: IO 오류

target: - java.sql.SQLRecoverableException: IO 오류: 연결 시간 초과 - java.sql.SQLRecoverableException: IO Error: Connection reset by peer issue: - 사이트에서 장시간 DB Connection이 발생하지 않다가, 최초 접근 시, 연결 시간 초과 발생 - 일정 시간 이후에 재접근 시, 정상적으로 DB Conneciton cause: 더보기 - case 1 DB Connection을 맺은 후, 장시간 사용하지 않으면 Connection을 반환하는데, 반환된 Connection을 사용하려고 하여 에러 발생 더보기 - case 2 Oracle의 경우 11g JDBC드라이버 사용시 connect string을 암호..

Dev/Server 2022.06.30

[Apache] 설정 파일의 주석 위치에 따른 Apache 응답 속도 저하

target: Apache에서의 응답 속도 저하 원인 관련 method: https://httpd.apache.org/docs/2.2/mod/mod_authz_host.html mod_authz_host - Apache HTTP Server Version 2.2 httpd.apache.org ※ Apache의 mod_authz_host 모듈 설명 문서 발췌 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 호스트명 (일부) 예제: Allow from apache.org 호스트명이 이 문자열과 같거나 이 문자열로 끝나면 접근을 허용한다. 그래서 이 경우 foo.apache.org는 해당되고, fooapache.org는 해당되지 않는다. 이 설정을 사용하면 아파치는 HostnameLookups 지시어 설정과 관계없이 클라..

Dev/Server 2022.06.28
728x90