跳至主要内容

Container 錯誤頁的設定分類

Tomcat 錯誤頁全域設定

  1. 此處以 404 錯誤頁為範例,其他錯誤頁設定方式相同。
  2. 先準備一個自訂的404.html頁面.例如: customized404.html
  3. 到 tomcat 安裝目錄下的 conf 修改 web.xml 檔.
  4. 將客製好的錯誤頁(customized404.html)放在 webapps/ROOT/目錄 下即可.
  • config/web.xml 下增加下列設定:
<error-page> 
<error-code>404</error-code>
<location>/customized404.html</location>
</error-page>



單一 Application 設定

  1. 先準備客製好的錯誤頁
    • 專案根目錄下相對應資料夾建立 /pages/customized404.html
  2. 單一 App 則在在專案的 web.xml 中加入下列設定即可。
<error-page> 
<error-code>404</error-code>
<location>/pages/customized404.html</location>
</error-page>

隱藏 Tomcat 版本與報告資訊

  • 為了避免駭客得知container資訊最簡易設定可採用下列方法
  • /tomcat/config/server.xml
  • 在 Host 區塊增加 ErrorReportValve資訊,以隱藏 report 與 serverinfo。

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.ErrorReportValve"
showReport="false"
showServerInfo="false"/>
</Host>

Web Container 其他常見客製化錯誤頁設定範例


<!-- 400 錯誤 -->
<error-page>
<error-code>400</error-code>
<location>/error.jsp</location>
</error-page>



<!-- 404 查無頁面錯誤 -->
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>


<!-- 500 伺服器內部錯誤 -->
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>


<!-- java.lang.Exception 異常錯誤 -->
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>


<!-- java.lang.NullPointerException 異常錯誤 -->
<error-page>
<exception-type>java.lang.NullPointerException </exception-type>
<location>/error.jsp</location>
</error-page>


<!-- ServletException 異常錯誤 -->
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/error.jsp</location>
</error-page>