无法显示nginx自定义403

时间:2013-12-30 02:31:39

标签: xml nginx

想知道我是否能得到一些帮助。我无法提供自定义403页面。 我正在使用geoip模块来阻止一些ip地址。我需要提供一个自定义的xml文件作为403.我的问题是,即使我已根据指示设置一切(我认为)我仍然得到默认的nginx 403页面。请看一下我的/ etc / nginx / sites-enabled / default,让我知道什么是不合适的。

.....
###redirect IP_1
geo $bad_user {
default 0;
bad.ip.1/32 1;
bad.ip.2/32 1;
}

server {

....

####custom 403 error page for ip block
error_page 403 /error.xml;
location = /error.xml {
root /var/www/static;
allow all;
}

####redirect IP_2
if ($bad_user) {
return 403;
}

我已经验证目录和xml文件具有正确的权限。如果禁用geoip块,我可以访问error.xml文件。如果您有任何想法,想法或我可以提供的其他信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

我们能够解决这个问题。错误页面和“如果坏用户”需要在服务器块中。希望这可以帮助其他人。谢谢你的帮助。

服务器{

listen   80; ## listen for ipv4
listen   [::]:80 default ipv6only=on; ## listen for ipv6

server_name  localhost;

access_log  /var/log/nginx/localhost.access.log;

location / {
    root   /var/www;
    index  index.html index.htm;
    allow all;
    error_page  403  /error.xml;
        if ($bad_user) {
            return 403;
        }
}

... }