想知道我是否能得到一些帮助。我无法提供自定义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文件。如果您有任何想法,想法或我可以提供的其他信息,请告诉我。
答案 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;
}
}
... }