톰캣 기본 설정은 디렉토리 구조가 보이지 않게 설정되어있다. 이를 보여지게 설정 할 수 있는데, 보안취약점임으로 주의를 해야한다. ▶️ 설정방법 - 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..
#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 포트에 대한 방화벽이 안뚫렸나? -> 각 서버의 방화벽이 오픈 되어있는 것을 확인 * 참고로 방화벽이 열렸는지 확인하려면 아래의 명령어를..
🚀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포트에 대해 서비스를 시작하려고 해서 정상적으로 시작이 되지 ..
우선 servlet을 만들고 실행시키려면 java와 tomcat이 설치되어 있어야 한다. 1️⃣ servlet 만들기 - HttpServlet 을 상속 받아 생성한다. - 저장 시 class이름과 동일하게 이름을 지정하고 java 확장자로 저장한다. import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class MyServlet extends HttpServlet { public void se..
- Total
- Today
- Yesterday
- react
- 현대
- 자바코테
- 자바스크립트
- Docker
- 스프링
- 코딩테스트
- Linux
- softeer java
- javascript
- springboot
- 톰캣
- java
- tomcat
- mysql
- centos
- 전자정부프레임워크
- 자바
- java 코테
- 쿠버네티스
- 아파치카프카
- 오토에버코테
- softeer
- 리액트
- Kubernetes
- 현대오토에버
- 도커
- 현대코테
- 코테
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |