OS/centOS

Tomcat :: 톰캣8 manager 403 access denied 해결 방법

벨포트조던 2020. 8. 30.
반응형

Tomcat8 manager 들어가는 방법

Tomcat8에서 WAR파일을 배포하기위해 /manager 페이지로 이동할 필요가 있다. 근데 그냥 들어가려고 하면 403 ERROR 때문에 접근할 수 없다. 이 문제의 해결방법은 2가지 파일을 수정해주면 된다.

 

Step 1. conf 디렉토리의 tomcat-users.xml 권한 설정

$ sudo vi /usr/share/tomcat8/conf/tomcat-users.xml

위 파일을 열어보면 맨 아래에 주석처리가 된 부분이 있다. 주석을 없애준다.

<tomcat-users>
    <role rolename="admin"/>
    <role rolename="admin-gui"/>
    <role rolename="admin-script"/>
    <role rolename="manager"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <user username="admin" password="admin" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />
</tomcat-users>
​

사실 manager 기능만 사용할거라서 manager와 관련된 role만 주석을 없애주면 된다. 그리고 마지막 부분에 <user> 태그에 로그인을 하기위한 아이디와 비밀번호를 입력한다. 예를들어,

<user username="유저명" password="비밀번호" roles="접근가능한 role" />​

 

Step 2. manager 디렉토리의 context.xml 수정

$ sudo vi /usr/share/tomcat8/webapps/manager/META-INF/context.xml

위 파일을 수정 해주면 된다.

<Context antiResourceLocking="false" privileged="true" >
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
     allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
​

<Valve> 부분을 주석 처리 해준다.

 

결과 확인

그리고 http://ip주소:8080/manager 를 입력해서 제대로 들어가지는지 확인 한다.

 

반응형

댓글