톰캣 기본 설정은 디렉토리 구조가 보이지 않게 설정되어있다. 이를 보여지게 설정 할 수 있는데, 보안취약점임으로 주의를 해야한다. ▶️ 설정방법 - tomcat경로/conf/web.xml의 listings 부분을 수정하여 변경 할 수 있다. vi 톰캣경로/conf/web.xml vi로 파일을 연 후 /를 누르면 겸색을 할 수 있는데 이 때 listing을 검색해보면 아래와 같은 부분을 찾을 수 있다. 에 관련 내용이 설정 되어있는데, 기본적으로 listings는 false(param-value 확인)이다. 만약, 디렉토리 구조를 웹에서 확인 하고 싶으면 param-value를 true로 두고, server를 재시작해주면 된다. default org.apache.catalina.servlets.Defaul..
tomcat의 webapps 하위에 war 파일을 넣고 배포를 하게 되는 경우 톰캣은 기본적으로 압축을 풀고 contextPath를 폴더명으로 지정한다. 예) test.war 배포 시 contetxtPath는 test로 해당 프로젝트에 접근하고 싶으면 localhost:8080/test로 접근해야한다. 만약 위의 상황에서 단순히 localhost:8080으로 접속을 하게 된다면 404 not found가 떨어지게 되고, 에러 페이지 설정을 하지 않았다면 tomcat의 기본 에러페이지가 나와 tomcat의 버전이 노출되므로 이는, 보안 위반 사항이다. 그렇다면 localhost:8080으로 접속을해도 자동으로 localhost:8080/test로 리다이렉트 시키고 싶으면 어떻게 해야할까? 단순히 설정 ..
#url 의 #쿼리스트링 에 다음과 같은 문자는 허용되지 않는데, 만약 [\\]^`{|} 같은 문자가 쿼리스트링에 들어가는 경우 #tomcat 자체의 에러가 떨어진다. 서버 콘솔에는 이런 에러가 나온다. Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986. #Tomcat8.0 부터 #RFC3986 규격이 적용되어 영어문자, 숫자, 몇개의 예약 문자만 허용된다. 따라서 '[' 같은 특수문자를 허용하려면, 톰캣 버전을 다운그레이드 시키던지, 허용 문자를 별도로 추가해주면 된다. import org.springframework.boot.web.embedded.tomcat.To..
-DeaiConfigRoot는 ApacheTomcat 서버에서 실행할 때 사용되는 옵션 중 하나다. 이 옵션은 Tomcat이 웹 애플리케이션의 설정 파일을 찾는 위치를 지정하는 데 사용된다. 일반적으로 #Tomcat은 웹 애플리케이션에 대한 설정 파일을 WEB-INF 디렉토리 아래에 있는 web.xml 파일에서 읽는데 DeaiConfigRoot 옵션을 사용하면 Tomcat이 웹 애플리케이션의 설정 파일을 다른 위치에서 찾을 수 있도록 변경할 수 있다. 해당 옵션을 사용하면 웹 애플리케이션의 배포 구조를 유연하게 관리하고 다양한 설정 파일의 위치를 지정 할 수 있다는 장점이 있다. setenv.sh 파일을 생성하면 구동시에 옵션을 직접 주지 않아도, 톰캣이 해당 파일에서 설정값을 읽어간다. vi /톰캣경로..
[상황] 다섯대의 서버가 L4로 연결이 되어있고, 각각의 tomcat에 L4도메인의 인증서를 적용해놓고 8090포트로 서비스를 실행시켰다. 그런데 https://L4 도메인:8090 으로 접속하는 경우 연결이 되지 않는 현상이 발생했다. 처음에는 당연히 SSL 인증서 문제라고 생각했다. 그런데 이 인증서는 다른 서비스에서도 쓰고 있는 거기 때문에 SSL 인증서 자체의 문제는 아니고 내가 Tomcat에 등록을 잘못했다고 생각을 했다. 아래는 내가 문제점을 찾기 위해 확인 했던 것들이다. 1. tomcat 인증서 확인 - 인증서를 잘못 등록했는가? -> 아님 2. 8090 포트에 대한 방화벽이 안뚫렸나? -> 각 서버의 방화벽이 오픈 되어있는 것을 확인 * 참고로 방화벽이 열렸는지 확인하려면 아래의 명령어를..
SSL의 인증서를 적용 한 경우 https로 접속을 해야한다. http로 접속을 한 경우에는 안전하지 않음이라는 경고가 url 옆의 창에 표시된다. 그러나 우리는 보통 url로 접속하는 경우 프로토콜을 명시해주는 경우가 거의 없이 www.naver.com 이런식으로 입력하여 접속한다. 프로토콜을 입력하지 않고 url만 입력해도 자동으로 https로 리다이렉트를 시켜주자. 1. web.xml 설정 추가 HTTPSOnly /* CONFIDENTIAL 2. 톰캣 server.xml 수정 tomcat하위의 conf 폴더의 server.xml을 열어 아래와 같이 수정해준다. vi /tomcat/conf/server.xml 8080 포트로 들어오는 경우 443포트로 리다이렉트 시켜준다. 나는 리눅스에서 iptabl..
🚀Tomcat 로그 종류 tomcat9는 기본적으로 6가지의 로그를 생성해준다. 지금까지 내가 사용한 로그는 catalina.out 뿐이었는데, 이번에 3년지난 로그를 지우면서 톰캣로그에 대해서 자세히 알아보기로 했다. 1. catalina.out Tomcat 기동 시 /bin/catalina.sh 에 의해 생성되는 로그 파일 콘솔에 표시되는 모든 것을 기록한다. (톰캣에 의해 생성되는 로그, DB로그 등등) 2. catalina.yyyy-mm-dd.log 톰캣에 의해 생성되는 로그만 기록 Standard output(표준 스트림), Standard error(표준 에러)의 로깅은 제외 단순히 catalina.out을 일별로 나누어놓은 파일이라고 생각했는데 아니었다. 1과 2를 동일한 기준으로 로그를 확..
🔎 상황 OS : CentOs Linux release 7.9.2009 tomcat : apatch-tomcat-9.0.67 웹 서비스를 톰캣으로 포트 80을 사용하여 올리는데 다음과 같은 에러가 발생했다. root 권한으로 tomcat을 시작했을 때는 나지 않고 일반사용자로 시작한 경우에만 오류가 발생했다. tomcat 관련 폴더의 소유자및 그룹은 일반사용자로 되어있다. ps -ef|grep'tomcat' 을 사용하여 프로세스를 확인하면 프로세스는 떠있지만. netstat -tnlp 를 사용하여 확인하면 관련 포트가 없다. 🔎 원인 linux는 일반사용자에게 포트 1024이하에 대해서는 사용권한을 주지 않는다. 따라서 일반사용자 계정으로 80포트에 대해 서비스를 시작하려고 해서 정상적으로 시작이 되지 ..
- Total
- Today
- Yesterday
- springboot
- 도커
- 전자정부프레임워크
- 톰캣
- javascript
- 리액트
- 현대오토에버
- 자바스크립트
- Spring
- softeer
- Docker
- react
- java 코테
- 오토에버코테
- softeer java
- 스프링
- mysql
- 자바
- 자바코테
- 현대코테
- 쿠버네티스
- Kubernetes
- 현대
- 코테
- 아파치카프카
- Linux
- 코딩테스트
- tomcat
- centos
- java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |