NGINX:在Linux或Unix上创建自定义404/403错误页面
时间:2020-01-09 10:40:33 来源:igfitidea点击:
如何在Linux或类Unix系统上运行的Nginx Web服务器下创建自定义静态HTTP 404或HTTP 403错误页面?
Nginx是一个免费的开源Web服务器。
它还充当反向代理,缓存和负载平衡器服务器。
本教程展示了"如何配置Nginx在Linux或类Unix系统上为404/403使用自定义错误页面。
"
如何配置Nginx使用自定义404错误页面
首先在文档根目录中创建404.html。
默认位置是/usr/local/nginx/html /或/var/www/htm /。
因此,如下创建HTML文件:
# vi /usr/local/nginx/html/404.html
或者
# vi /var/www/html/404.html
输出示例:
<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>Error 404 Not Found</title> <style> <!- body {font-family: arial,sans-serif} img { border:none; } //--> </style> </head> <body> <blockquote> <h2>Error 404 Not Found</h2> <p>Our apologies for the temporary inconvenience. The requested URL was not found on this server. We suggest you try one of the links below: <ul> <li><b>Verify url and typos</b> - The web page you were attempting to view may not exist or may have moved - try <em>checking the web address for typos</em>.<//li> <li><b>E-mail us</b> - If you followed a link from somewhere, please let us know at <a href="mailto:[email protected]">[email protected]</a>. Tell us where you came from and what you were looking for, and we'll do our best to fix it.</li> </ul> </blockquote> </body> </html>
如何配置Nginx将我的404.html文件用作错误页面
编辑/usr/local/nginx/conf/nginx.conf文件,执行:
# vi /usr/local/nginx/conf/nginx.conf
或者
# vi /etc/nginx/sites-available/default
追加/编辑配置,如下所示:
error_page 404 = /404.html;
防止客户端直接获取错误页面的示例:
error_page 404 /404.html; location /404.html { internal; }
HTTP 403错误页面的示例:
error_page 403 /403.html; location = /403.html { root html; allow all; internal; }
error_page只能放在http,server和location指令中。
保存并关闭文件。
重新加载Nginx服务器,执行:
# /usr/local/nginx/sbin/nginx -t && /usr/local/nginx/sbin/nginx -s reload
或者
# nginx -t && nginx -s reload
或者
$ sudo systemctl reload nginx
这是我的网站在访问时出现的示例错误页面(您的域/404dfoo):
Nginx中的示例自定义错误404页面
如何重定向到特定的URL进行错误处理?
是的,URL重定向可以进行错误处理,如下所示:
# # Redirect to forbidden.php for HTTP status code 403 # error_page 403 https://www.theitroad.local/error/forbidden.php; # # Redirect to notfound.pl for HTTP status code 404 # with redirect status codes to 301 # error_page 404 =301 https://www.theitroad.local/cgi-bin/notfound.pl;
常见错误代码列表
- HTTP 404:在此服务器上找不到网页。
- HTTP 403服务器被配置为拒绝访问您的请求。通常,使用此方法会阻止登录URL,例如/wp-admin /或/phpmysqladmin /。
- HTTP 500/502/503/504内部服务器问题,例如配置服务器未命中或后端关闭。