Nginx最新版本配置自定义404错误页面失败,求正确配置方法
Nginx自定义404错误页面配置方案
Nginx最新版本完全支持自定义404错误页面功能,你的配置不生效是因为存在语法逻辑错误,导致后续配置未被执行。
原配置的核心问题
你的第二个server块中,在root和location配置之前就添加了return 404;指令,Nginx会优先执行这条指令,直接返回404状态码,后续的root、location等配置根本不会被解析执行,自然无法加载自定义404页面。
正确配置步骤
- 移除
server块中多余的return 404;语句,确保Nginx能解析到root和location配置。 - 正确配置
error_page指令,指定404错误对应的自定义页面路径。 - 确保自定义404页面(如
404.html)存放在root指定的目录下,且Nginx进程有读取权限。
完整配置示例
server { listen 80; server_name ""; return 444; } server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; server_name _; location / { try_files $uri $uri/ =404; } # 配置自定义错误页面 error_page 404 403 /404.html; location = /404.html { internal; # 仅允许内部访问,禁止直接通过URL访问该页面 } }
验证配置
- 检查Nginx配置语法是否正确:
sudo nginx -t
- 重载Nginx使配置生效:
sudo systemctl reload nginx
- 确保
/var/www/html/404.html文件存在,且权限设置正确(推荐权限:644,所属用户/组:www-data:www-data)。
内容的提问来源于stack exchange,提问作者Ali Bidaran
相关产品推荐
相关产品推荐

