nginx代理后ajax请求404(已解决)
公司PHP老项目,有个/Api/Avatar
的接口地址,返回json格式的玩家头像信息
由于老旧的业务原因这个接口很复杂,查询很多表,最后返回信息虽然很正常,但导致PHP压力很大,为了缓解PHP压力,用golang重写了这个接口代码是这样的:
mux := http.NewServerMux()
mux.HandleFunc("/Api/Avatar", func(w http.ResponseWriter, r *http.Request) {
//具体业务,也是返回json
})
err := http.ListenAndServe(":1234", mux)
if err != nil {
fmt.Print(err)
}
简单到爆炸的业务
但是!
使用nginx代理转发后就出问题了
location /Api/Avatar {
proxy_pass http://127.0.0.1:1234/Api/Avatar;
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
1.使用浏览器直接访问接口地址是正常的
2.但是使用jq的ajax就是404,同域名下没有跨域问题
$.ajax({
url: '/Api/Avatar',
//.....
success: function(r) {
//....
}
});
目前未能解决,就还是给到PHP处理了,等我解决了再来说原因,也期望有这方面经验的小伙伴支支招
2022.5.26:go里的业务问题,不是nginx配置的问题,重写解决了
加个
=
号意味着完全匹配,优先级最高。参考 —— 博客:Nginx 配置常用参数,看这一篇就够了哪里写错了呗