Nginx可以在“拒绝所有”时返回503错误代码吗?

mspsb9vt  于 2022-11-02  发布在  Nginx
关注(0)|答案(2)|浏览(264)

我想把我的网站设置为“维护模式”,这样只有我的IP地址才能访问它。这很容易做到,比如:

location /
{
   allow 1.1.1.1;
   deny all;
}

...但返回的是403(禁止)消息而不是503(服务不可用)错误代码。是否有任何方法可以通过“拒绝所有”返回503?

xytpbqjk

xytpbqjk1#

只需在该位置添加此行

error_page 403 =503 /error_503.html;

/error_503.html是一个正常的html页面,将提供503错误代码

ohfgkhjo

ohfgkhjo2#

另一个不需要创建html文件的简单解决方案是这样做的

location @error503 {
   default_type text/html;
   return 405 "<body><h1>503 Service unavailable</h1></body>";
}

location /
{
   error_page 403 @error503;
   allow 1.1.1.1;
   deny all;
}

相关问题