在 Apache 和 nginx 中实现自定义错误页面 – 使用 ErrorDocument 和 error_page
Apache HTTP 或 Nginx 的默认产品错误页面不太美观,并且会泄露版本信息,从而导致信息泄露。脆弱性。
如果您尚未为您的 Web 应用程序实现自定义错误页面,您应该考虑这样做,原因有很多,包括以下几点。
品牌推广- 显示带有您的品牌徽标和几行消息的个性化消息,以使访问者意识到问题并为他们提供联系相关团队的链接。
漏洞- 如果您在符合 PCI DSS 的环境中工作,则应考虑修补信息泄漏漏洞,该漏洞可在默认产品错误页面上找到。
更好的用户界面– 这是为了改善用户体验,您也可以在错误页面上执行此操作。例如,如果用户请求的内容不存在,Web服务器将默认显示404错误页面,并且用户可能会注销。用户可以搜索或查看相关项目以及正确导航的自定义页面怎么样?
这适合你吗?
我确信,通过这种方式,您可以留住访问者继续访问网站,并降低跳出率。
还是不相信?
让我们来看看…
所以这是Nginx默认的“404 not found”页面
nginx-错误页面
当你收到这个页面时你会做什么?
您很可能会关闭它。
这是我设置的自定义“404”页面。
Geekflare-404
是不是看起来好多了?
大多数情况下,您会转到“主页”或单击下面显示的搜索之一。这就是自定义页面有用的原因。
现在您已经了解了这些好处,是时候实施它们了。您可以在许多HTTP 状态代码事件中拥有自定义页面。以下要素对我来说至关重要。
404 – 未找到
403 – 禁忌
500内部服务器错误
503服务不可用
504网关超时
先决条件
我假设您已经创建了一个自定义页面。如果您需要 404 图像,您可以从Elements获取它们。
Apache HTTP 中的实现
做这件事有很多种方法。例如,您可以使用 Rewrite 或 ErrorDocument 指令。我将解释如何使用 ErrorDocument 指令来执行此操作。
连接到 Apache HTTP 服务器
进入httpd.conf文件所在的apacheconf文件夹
备份 httpd.conf 文件
编辑httpd.conf文件,添加Document d’erreur如下
ErrorDocument 404 /path/of/custom/error/file
ErrorDocument 403 /chemin/de/personne/erreur/fichier
ErrorDocument 500 /chemin/de/personne/erreur/fichier
ErrorDocument 503 /chemin/de/personne/erreur/fichier
ErrorDocument 504 /path/of/custom/error/file (document d'erreur 504 /path/of/custom/error/file)
尝试访问不存在的内容,您应该会看到自定义错误页面而不是默认页面。
注意对于这些 HTTP 状态返回代码,您还可以重定向到另一个 URL。对于重定向,只需在每个代码旁边添加一个 URL,如下所示。
ErrorDocument 404 https://hao-blog.com/ errorpage
Document d'erreur 403 https://hao-blog.com/ errorpage
Document d'erreur 500 https://hao-blog.com/ errorpage
Document d'erreur 503 https://hao-blog.com/ errorpage
Document d'erreur 504 https://hao-blog.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 ;
error_page 504 /path/of/custom/error/file ;
保存文件并重新启动 Nginx 以使其反映。
结论
你看,这个小小的改变可以产生很大的影响,那么为什么不实施它呢?