Docker Nginx反向代理配置失败:为什么访问http://1.1.1.1/api/x/y失败?

docker nginx反向代理配置失败:为什么访问http://1.1.1.1/api/x/y失败?

Docker Nginx反向代理配置问题及解决方案

本文分析了使用Docker部署Nginx进行反向代理时,访问特定URL失败的问题。 问题现象是:尽管Nginx已配置反向代理,但访问http://1.1.1.1/api/x/y 无法连接到后端服务http://a.x.com/x/y。

问题根源:

经检查发现,原始的Nginx proxy_pass 指令配置存在错误。 proxy_pass http://a.x.com/ 仅将请求转发到http://a.x.com/,而忽略了请求URL中的路径/x/y 部分。

解决方案:

为了正确转发请求,proxy_pass 指令应使用$request_uri 变量,该变量包含完整的请求URI,包括路径部分。 正确的配置如下:

proxy_pass http://a.x.com/$request_uri;
登录后复制

通过此修改,Nginx 将正确地将http://1.1.1.1/api/x/y 的请求转发到 http://a.x.com/x/y。

以上就是Docker Nginx反向代理配置失败:为什么访问http://1.1.1.1/api/x/y失败?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1225469.html

发表回复

Your email address will not be published. Required fields are marked *