nignx代理转发豆瓣

我在nignx里想用下豆瓣接口,但是为什么代理转发不过来?
https://api.douban.com/v2/book/search?q=javascript&alt=json&start=1&count=20

location ~* /v2/ {
    proxy_store off;
    proxy_re
    direct off;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_connect_timeout 600;
    proxy_read_timeout 600;
    proxy_send_timeout 600;
    proxy_set_header Host "bb.com";
    proxy_pass https://api.douban.com;
}

本地ajax请求不了,报出错请求结果为502

$.ajax({
        type: "get",
        url: "/v2/book/search?q=javascript&alt=json&start=1&count=20",
        cache: false,
        success: function(data) {
            console.log(data)
            var odata = data.books;
            var ohtml = "";
            for (var i = 0; i < odata.length; i++) {
                ohtml += "<li><img src=" + odata[i]["images"]["small"] + "><p>" + odata[i]["title"] + "</p></li>";
            }
            $("#bookList").append(ohtml);
        },
        error: function() {
            alert("出错");
        }
    });
阅读 3.1k
2 个回答

我今天也遇到这个问题,我查看了nginx的错误日志,发现了这样的信息,

host: "www.xxxx.site:8000", referrer: "http://www.xxxx.site:8000/"

我就去掉了proxy_set_header Host 这个配置项,结果就可以了

location /v2 {
  proxy_pass https://api.douban.com/v2/;
}

这里的url修改一下

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题