在Apache和Nginx中实现自定义错误页面-使用ErrorDocument和error_page

本文概述

  • 在Apache HTTP Server中实现自定义错误页面
  • 在Nginx服务器中实现自定义错误页面
从Apache HTTP或Nginx获得默认产品错误页面的情况看起来并不理想, 并且会显示版本信息, 从而导致信息泄漏漏洞。如果你尚未为网络应用实现自定义错误页面, 则出于多种原因, 你必须考虑这样做。
  • 品牌宣传–显示带有品牌徽标的定制消息, 以及几行消息, 以使访问者意识到问题所在并链接以联系各自的团队。
  • 漏洞–如果你正在使用PCI DSS合规性环境, 则必须考虑修复信息泄漏漏洞, 该漏洞位于默认产品错误页面。
  • 更好的用户界面–一切都与更好的用户体验有关, 你也可以在错误页面上提供。例如, 如果用户请求的内容不存在, 则网络服务器将提供404默认错误页面, 最有可能的用户将关闭会话。如何创建一个自定义页面, 用户可以在其中搜索或显示相关项目以及正确的导航?听起来不错?好吧, 我敢肯定, 通过这种方式, 你可以吸引访问者继续访问网站并提高跳出率。
还是不服气?让我们来看看…
这是Nginx默认的” 404 not found” 页面
在Apache和Nginx中实现自定义错误页面-使用ErrorDocument和error_page

文章图片
收到此页面后, 你会怎么做?你很可能会关闭它。这是我实现的自定义” 404″ 页面
在Apache和Nginx中实现自定义错误页面-使用ErrorDocument和error_page

文章图片
听起来不错?你很可能会转到” 主页” 或单击下面显示的任何帖子。这就是自定义页面的帮助方式。
现在你知道了优点, 是时候实施它们了。你可以在许多HTTP状态代码事件中拥有一个自定义页面。我认为关注至关重要。
  • 404 –找不到
  • 403 –禁止
  • 500内部服务器错误
  • 503服务不可用
  • 504网关超时
前提条件–假设你已经建立了自定义页面。
在Apache HTTP Server中实现自定义错误页面 例如, 可以通过多种方式执行此操作–你可以使用Rewrite或ErrorDocument指令执行此操作。我将解释如何使用ErrorDocument指令。
  • 登录到Apache HTTP服务器
  • 转到你拥有httpd.conf文件的apache conf文件夹
  • 备份httpd.conf文件
  • 修改httpd.conf并添加ErrorDocument, 如下所示
ErrorDocument 404 /path/of/custom/error/fileErrorDocument 403 /path/of/custom/error/fileErrorDocument 500 /path/of/custom/error/fileErrorDocument 503 /path/of/custom/error/fileErrorDocument 504 /path/of/custom/error/file

保存httpd.conf并重新启动Apache服务器
尝试访问不存在的内容, 你应该拥有自定义错误页面, 而不是默认页面。
注意:在这些HTTP状态返回代码的情况下, 你也可以重定向到其他URL。对于重定向, 你可以仅在每个代码旁边添加URL, 如下所示。
ErrorDocument 404 https://geekflare.com/errorpageErrorDocument 403 https://geekflare.com/errorpageErrorDocument 500 https://geekflare.com/errorpageErrorDocument 503 https://geekflare.com/errorpageErrorDocument 504 https://geekflare.com/errorpage

到目前为止, 一切都很好?
在Nginx服务器中实现自定义错误页面
  • 登录到Nginx服务器
  • 转到nginx.conf文件位置
  • 与往常一样, 备份conf文件并在http块下添加以下内容
error_page 404 /path/of/custom/error/file; error_page 403 /path/of/custom/error/file; error_page 500 /path/of/custom/error/file; error_page 503 /path/of/custom/error/file; error_page 504 /path/of/custom/error/file;

保存文件并重新启动Nginx即可反映出来。
【在Apache和Nginx中实现自定义错误页面-使用ErrorDocument和error_page】当然, 建议你具有自定义错误页面, 因此请继续展示自定义错误页面。

    推荐阅读