nginx代理后浏览器访问正常,ajax访问404(已解决)

golangcat 2022-05-25 16:26:14

公司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 配置的问题,重写解决了

...全文
272 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,348

社区成员

发帖
与我相关
我的任务
社区描述
go语言学习与交流版
社区管理员
  • go语言社区
  • 俺叫西西弗斯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧