에러 페이지 조치 web.xml
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/common/error.jsp</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/common/error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/common/error.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/common/error.jsp</location>
</error-page>
</web-app>
.jsp 된 파일을 삭제 하기 곤란할 경우 에러페이지로 보내기
<%
response.sendRedirect("https://~/common/error.jsp");
%>
허용되지 않은 메소드 조치 server.xml
allowTrace="false"
8443, 8080 이 포함된 모든 Connector 부분에 적용했다.
Warning 으로 적용되지 않는 설정이 있다고 나오면 삭제해 주고, 그렇지 않으면 최대한 적용하는 것이 재기동의 횟수를 줄일 수 있다.
설정 마지막 부분에 아래를 적용할 경우 allowTrace="true" /> 로 하는 것이 해결책이 될 수도 있으니, 해당 설정은 재기동을 해보고 테스트하는 것이 좋다.
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>HEAD</http-method>
<http-method>TRACE</http-method>
<http-method>OPTIONS</http-method>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
</web-app>
apache가 단순 전환만 하더라도 TRACE가 동작할 경우 httpd.conf에 TraceEnable Off 를 추가하여 apache도 restart 한다.
catalina 로그 등을 확인으로 securit-constraint의 메소드 차단 적용 여부를 확인할 수 있다.
댓글 달기