少写了个,下面是修复的:
location ~ /url {
set $proxyurl "http://www.xxx.com";
set $proxyhost "www.xxx.com";
set $proxyref "http://www.xxx.com";
if ($request_uri ~ /(http|https|ftp)://([^/]+)/(.+)) {
set $proxyurl $1://$2/$3;
set $proxyhost $2;
set $proxyref $1://$2;
}
proxy_pass $proxyurl;
proxy_pass_header Server;
proxy_redirect off;
proxy_set_header Accept-Encoding "";
proxy_set_header Host $proxyhost;
proxy_set_header Referer $proxyref;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_hide_header Content-Type;
add_header X-Content-Type $upstream_http_content_type;
if ($upstream_http_content_type ~* ^image/(jpg|jpeg|pjpeg|png|x-png|gif|bmp|x-icon|webp|svg\+xml)) {
# 如果类型是图片,就?
}
error_page 301 302 400 403 404 500 502 503 504 = @
check_header;
}
location @
check_header {
rewrite ^ /ErrorPages/404.html;
}