티스토리 뷰
728x90

🔎 상황
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포트에 대해 서비스를 시작하려고 해서 정상적으로 시작이 되지 않았던 것이다
🔎 해결방법
1. root로 실행
- 그렇지만 root로 실행해도 된다면 애초에 일반사용자로 실행하지 않았겠지...😥
2.port 변경
- 8080 같이 1024보다 큰 포트로 변경한다.
- 현실적으로 방화벽을 우선 80으로 오픈했다면 마음대로 포트를 변경 할수가 없다.
- 이런 경우 iptables 를 통해 OS단에서 포트 포워딩을 해줄 수 있다.
3. setcap
- setcap 명령어를 통해 1024 이하 포트 사용 권한을 부여 할 수 있다. 톰캣은 java로 실행되므로 java에 setcap을 통해 사용권한을 주면 된다.
나는 인프라 담당자가 이를 처리해주었는데, setcap 명령어가 안먹어서 os단에서 포트포워딩으로 처리해줬다고 했다..
그런데 나중에 알고보니...java에 준게 아니라..다른데 줬다고...ㅎ
이미 서비스를 오픈하고 나서 잘못된 걸 알아서, 이번 서비스는 port fowarding으로 처리했고, 다음에 이런 문제가 생기면 setcap을 이용하려고 한다.
'백엔드 > Tomcat' 카테고리의 다른 글
[Tomcat/톰캣] 톰캣 디렉토리 구조 보기/톰캣 디렉토리 구조 안보이게 설정하기 (0) | 2023.06.23 |
---|---|
[Tomcat/톰캣] /접속시 contextPath로 자동연결하기(localhost:8080 -> localhost:8080/test) | contextPath 설정하기 | server.xml (0) | 2023.06.23 |
[Tomcat/톰캣] -DeaiConfigRoot 옵션으로 tomcat 설정 파일 위치 지정하기 (0) | 2023.05.16 |
[tomcat/톰캣] http -> https로 자동 리다이렉트 시키기 (0) | 2023.01.16 |
[Tomcat/톰캣] 로그 종류와 일정기간 지난 로그 삭제하기 | 톰캣 로그 안생기게 하기 (0) | 2023.01.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- centos
- mysql
- Docker
- 오토에버코테
- 현대오토에버
- 자바스크립트
- 코딩테스트
- 아파치카프카
- tomcat
- 스프링
- Linux
- Kubernetes
- Spring
- 현대
- springboot
- softeer java
- softeer
- 리액트
- 전자정부프레임워크
- 자바
- 톰캣
- nginx
- 쿠버네티스
- react
- 도커
- java
- 자바코테
- javascript
- 코테
- 현대코테
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함