http:.重定向不适用于nginx配置



我的http。重定向如下:

http.Redirect(iWri, pRq, "/report/"+UD.TID+"/_report/last_report.html", http.StatusFound)

这里是UD.TID = 2022066A4KIFTXUUP2WQO7,或者类似的东西,但我的路由器代码如下:

oRouter.PathPrefix(
"/report/{id:[0-9]{6}[A-Za-z2-7=]{16}}/{path:.*}",
).Methods("GET").Handler(
mwBaseCompressed.ThenFunc(apiParam.ReportServerHandler()),
)

我存储last_report.html的文件夹结构如下:

"/Users/myname/projbuild/prod/project_v2/_var/QCACHE/2022/06/6A4KIFTXUUP2WQO7/_report/last_report.html"

当我们在本地或dev服务器上运行前端(vue(和后端(go(时,上面的组合工作得很好,这意味着字符串2022066A4KIFTXUUP2WQO7以某种方式被拆分为2022/06/6A4KIFTXUUP2WQO7并显示报告。

但在生产服务器上,我们使用的是Nginx服务器,Nginx conf如下所示,用于/report、

location /report/ { alias /home/admin/_var/QCACHE/; }

使用Nginx,字符串2022066A4KIFTXUUP2WQO7不会被拆分,并且保持不变,因此应用程序无法显示报告。haproxy也一样。

在我的nginx.config中添加了下面的块,基本上我从我的main.go(oRouter.Handle(中找到了所有的路由调用,然后用它们在nginx、中进行如下配置

location ~ ^/(api|ufile|report|uad|pimg|xml|constants.js|test){
proxy_pass http://127.0.0.1:9999;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
}

最新更新