You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx反向代理在Windows下丢失URL路径末尾点问题排查

问题原因及解决办法

原因分析

Windows平台的Nginx受系统文件命名规则限制(Windows不允许文件名/目录名以点结尾),其默认的URL路径处理逻辑会自动移除URL各段末尾的点。而Linux系统无此文件命名限制,所以相同配置下Linux环境不会出现该问题。直接访问Go后端时,请求路径未经过Nginx的Windows特有的路径处理,因此参数正常。

解决办法

修改Nginx的location配置,强制传递原始请求路径,绕过Windows平台的自动处理逻辑:

server {
    listen       443 ssl;
    server_name  testing.com;
    ssl_certificate      "C:/nginx/testing.crt";
    ssl_certificate_key  "C:/nginx/testing.key";

    location / {
        merge_slashes off;  # 关闭斜杠合并,确保路径结构完整
        proxy_pass http://127.0.0.1:8888$request_uri;  # 直接传递原始请求URI
    }
}

配置说明

  • merge_slashes off;:禁用Nginx自动合并路径中的多个斜杠,同时避免其对路径末尾点的自动清理(该参数在Windows平台会影响末尾点的处理逻辑)。
  • proxy_pass http://127.0.0.1:8888$request_uri;:使用$request_uri变量直接传递客户端的原始请求路径,替代Nginx默认的路径拼接逻辑,确保包含末尾点的URL完整传递到后端Go服务。

修改配置后,重启Nginx服务,再次访问带末尾点的URL,后端Go服务即可收到完整的请求路径。

内容的提问来源于stack exchange,提问作者mrfentonz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 15:30:54