当访问一个存在的文件夹而且不以/结尾时,会出现错误,就需要如下设置: 在反代服务器上修改Nginx配置文件:
location / {
proxy_pass http://127.0.0.1:[proxy-port];
# 其他原有配置保持不变...
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
# ...(保留其他超时、WebSocket和重定向配置)
# 添加端口修正规则
proxy_redirect ~^(https?://)(your\.domain\.com):[original-port](.*)$ $1$2$3;
proxy_redirect ~^(http://127\.0\.0\.1):[original-port](.*)$ $scheme://$host$2;
}在源服务器上修改Nginx配置文件:
location ~ ^.*/$ {
# 判断是否为真实存在的文件夹
if (-d $request_filename) {
return 404; # 存在的文件夹返回404
}
# 非真实文件夹的以/结尾路径(如URL重写的虚拟路径),交给默认逻辑处理
try_files $uri $uri/ =404;
}
# 其他原有配置保持不变...
}
修改前:
https://your.domain.com/pathto 重定向到 https://your.domain.com:orginal-port/pathto
修改后:
https://your.domain.com/pathto 重定向到 https://your.domain.com/pathto/ 返回404












