Front/WebServer

[Error] 톰캣 server.xml 설정에러 : Error processing request NullPointException

헹창 2020. 1. 3.
반응형

[Error] 톰캣 server.xml 설정에러 : Error processing request NullPointException

 

 

 

에러 로그

 

 [http-nio-80-exec-5] org.apache.coyote.http11.AbstractHttp11Processor.process Error processing request 
 java.lang.NullPointerException

 

 

 

 

 

 

두 개의 프로젝트를 하나의 톰캣에 합친 후 발생한 에러이다.

이 에러 로그는 주로 다음 날 아침에 적으면 세~네개, 많으면 여섯개 정도 같은 에러 로그가 쌓이고 시점은 불규칙해서 알 수가 없다.

 

에러가 어느 시점에서 나는지 알기 위해 일부러 에러로그를 쌓기 위해 프로젝트 구동 후 여러 기능을 테스트하곤 했지만, 프로젝트가 구동되지 않는다던가 기능적으로 문제가 되는 부분은 없었다.

 

 

아무리 프로젝트가 구동되는데 문제가 없긴 한다해도, 가끔 저 로그가 찍히는 것이 너무 거슬려서 계속 찾아보니

 

 

org.apache.coyote.http11.Http11Processor 는 http 요청을 처리하는데 위의 로그는 server.xml에 정의된 defaulthostname이 null이기 때문에 발생한 예외라고 한다.

 

Hostname을 localhost 그대로 사용할 경우엔 예외가 발생하지 않지만, Hostname을 변경하고 서버가 직접 요청 받는 경우도 발생하지 않는다.

 

Hostname을 변경하고나서 로드밸런스 등으로 전달되는 경우 특히 발생한다고 한다. 

 

 

위 에러를 없애기 위해 Catalina 안에 <Host name="localhost"></Host> 를 추가하면 해결된다.

 

 

 

server.xml 코드 변경 전

 

<Host name="test.kr"  appBase="webapps" unpackWARs="true" autoDeploy="true">
	<Alias>test.kr</Alias>
	<Alias>www.test.kr</Alias>
	<Context path="" docBase="TAAT" reloadable="true"/>

	<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>
<Host name="v2.test.kr"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
	<Alias>v2.test.kr</Alias>
	<Alias>www.v2.test.kr</Alias>
	<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>

 

 

server.xml 코드 변경 후 : Host name="localhost"를 추가해주었다.

 

<Host name="localhost"></Host>
<Host name="test.kr"  appBase="webapps" unpackWARs="true" autoDeploy="true">
	<Alias>test.kr</Alias>
	<Alias>www.test.kr</Alias>
	<Context path="" docBase="TAAT" reloadable="true"/>

	<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>
<Host name="v2.test.kr"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
	<Alias>v2.test.kr</Alias>
	<Alias>www.v2.test.kr</Alias>
	<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>

 

 

 

 

 

 

728x90
반응형

댓글

추천 글