【问题标题】:Nginx 301 redirect custom page doesn't work, still returns the one with "nginx" in itNginx 301重定向自定义页面不起作用,仍然返回带有“nginx”的页面
【发布时间】:2018-11-06 03:00:58
【问题描述】:

因此,我们需要隐藏 nginx 是我们的服务器,它显示自己的方式之一是通过其错误页面。为此,我们有一个 sn-p:

error_page 404 /404.html;
error_page 403 /403.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /500.html;

# Non-rails error pages
error_page 301 /error/301.html;
error_page 307 /error/307.html;
error_page 308 /error/308.html;
error_page 400 /error/400.html;
error_page 401 /error/401.html;
error_page 405 /error/405.html;
error_page 406 /error/406.html;
error_page 408 /error/408.html;
error_page 413 /error/413.html;
error_page 415 /error/415.html;
error_page 429 /error/429.html;
error_page 431 /error/431.html;

location ^~ /error/ {
  internal;
  root /usr/share/nginx/html;
}

包含在server {} 块中:

server {
  listen 80;
  server_name ourhost.com
  include /etc/nginx/snippets/error_pages.conf;
  return 301 https://$server_name$request_uri;
}

所有页面仅包含错误编号和消息,没有任何透露信息。但是,301页面仍然返回:

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

这不是我们想要的。如何加载自定义 301 页面而不是默认的 nginx 页面?

【问题讨论】:

  • 这个serverfault.com/questions/326877/… 看起来像重复
  • 您是否从标题中删除了nginx
  • 是的,其他问题的答案有所帮助,问题已解决。这可能被视为重复问题。

标签: nginx nginx-config


【解决方案1】:

这里的答案有帮助:https://serverfault.com/questions/326877/nginx-error-page-directive-is-silently-ignored

location / {} 中关闭return 可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-17
    • 2020-04-29
    • 2011-03-08
    • 2010-11-04
    相关资源
    最近更新 更多