기존에 full path 로 이미지 경로가 보이는 보안 이슈사항이 있어 tomcat 가상 디렉토리 설정을 진행했다.

 

[환경]

Linux (CentOS7)

tomcat7.0 / tomcat8.0

openjdk-1.8.0

 


 

1. server.xml 에 추가하는 방법

 

<?xml version='1.0' encoding='utf-8'?>

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
  <GlobalNamingResources>
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <Service name="Catalina">
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="false">
        <Context path="" docBase="study"  reloadable="false" > </Context>
        
        <!-- 가상디렉토리 경로 추가 -->
        <Context docBase="/home/sunny/file/editor" path="/editor" />
        
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>
    </Engine>
  </Service>
</Server>

<Host> 태그 안에 가상디렉토리 경로를 추가하는 방식이다.

이때 설정한 docBase 대로 /app/file/editor 디렉토리가 미리 생성되어 있어야한다. 

 

웹에서 html을 확인해보면 , 

 

가상디렉토리경로 예시

위와 같이 나오는걸 확인할 수 있다.

 

 

 

 


 

 

2. 설정 xml 파일을 이용하는 방법

 

tomcat 을 설치한 경로로 이동한다. 

$ cd /home/sunny/apache-tomcat-7.0.82/conf/Catalina/localhost

 

경로 아래에서 설정하고자 하는 경로명으로 xml 파일을 생성해준다. 

꼬옥 경로명과 파일명이 동일해야함!! 

 

vi editor.xml

vi 에디터를 열고 아래와 같이 입력해서 생성해주면 끗! 

 

<Context docBase="/home/sunny/file/editor" path="/editor" reloadable="true" crossContext="true"/>

 

 

그리고 tomcat 서버를 restart 해주면 된다. 

 

 

 

 

 

'WAS' 카테고리의 다른 글

[tomcat] 로그 관리 (1) - log4j2  (0) 2021.03.25