
想知道我是否可以得到一些幫助。我無法提供自訂 403 頁面。我正在使用 geoip 模組來封鎖一些 IP 位址。我需要提供一個自訂 xml 檔案作為 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
我們能夠解決這個問題。錯誤頁面和「如果是壞用戶」需要位於伺服器區塊中。希望這可以幫助其他人。感謝您的協助。
server {
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;
}
}
...
}