跳至主要内容

Container 錯誤頁的設定分類

Tomcat 錯誤頁全域設定

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


單一 Application 設定

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

隱藏 Tomcat 版本與報告資訊

  • 為了避免駭客得知container資訊最簡易設定可採用下列方法
  • /tomcat/config/server.xml
  • 在 Host 區塊增加 ErrorReportValve資訊,以隱藏 report 與 serverinfo。
1 2 3 4 5 6 7 8 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false"/> </Host>

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 {/* 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>