NginX - 允许 - 自定义错误页面

NginX - 允许 - 自定义错误页面

伙计们,这真是太有趣了!我在我的一个 Web 应用程序 NginX 配置中有以下代码:

    location /login {
            #access_log off;
            proxy_pass https://public;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For        $proxy_add_x_forwarded_for;
            proxy_set_header X-SSL-Client-Verify    $ssl_client_verify;
            proxy_set_header X-Client-S-DN          $ssl_client_s_dn;
            allow   10.0.0.31;
            deny all;
    }

如您所见,我希望拒绝除一个 IP 地址之外的所有登录界面连接。这很管用,当我尝试从另一个 IP 连接时,会显示标准的 NginX 403 错误消息。现在到了关键时刻。如果我添加自定义错误消息行,整个允许/拒绝选项将被忽略!

我补充道:

    error_page 403 /40x.html;

OFC 我创建了一个自定义文件,/usr/shar/nginx/html并且该文件存在。NginX 中没有错误消息,但如果我将上面的一行添加到 webapplication 配置(或添加到标准 nginx.conf,无所谓),我为允许的 IP 设置的规则将deny all被完全忽略。怎么回事?有人知道如何为用户提供自定义 NginX 错误页面并保留允许和拒绝选项吗?

答案1

好的,解决方案是不仅要创建自定义错误页面选项,还要创建错误页面位置。所以我只需添加:

    error_page 403 /40x.html;
            location = /40x.html {
            root    /usr/share/nginx/html;
            allow   all;
    }

瞧...该死的 NginX!你为什么让我失望这么多次?:D

相关内容