nginx 反向代理中路径含有http://,转发后获取路径为http:/ 缺少一个斜杠

nginx配置:

    location /prerender {
                access_log  /var/log/nginx/prerender.log  main;
                rewrite ^/prerender/(.*)$ /render?url=$1 break;
                proxy_pass http://127.0.0.1:3010;
        }

nginx日志中看到的请求记录:
10.52.32.58 - - [21/Dec/2020:13:38:09 +0800] "GET /prerender/http://manhua-test.iqiyi.com/comic/index HTTP/1.0" 200 19254 "-" "Googlebot" "-"

node服务器中打印出来的请求路径为
/render?url=http:/manhua-test.iqiyi.com/comic/index

问题:为什么url=http:/中缺少一个斜杠?应该怎么处理解决?
阅读 3k
1 个回答

把 URL encode 一下,然后在接收的地方 decode吧,应该是 nginx 转义了双斜杠

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