首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法将请求从nginx代理到服务器

无法将请求从nginx代理到服务器
EN

Stack Overflow用户
提问于 2019-06-20 13:40:05
回答 2查看 96关注 0票数 0

我试图通过nginx将HTTP请求代理到在某个IP和端口上运行的应用服务器。下面是我在nginx中使用的配置来实现这一点:

代码语言:javascript
运行
复制
server {
    location /api/v1/ {
        proxy_pass http://myserver:9191/api/v1/;
    }
}

我将nginx作为docker容器运行,侦听端口4000上的请求。现在,当我像这样向我的nginx服务器发出请求时

代码语言:javascript
运行
复制
http://127.0.0.1:4000/api/v1/ping

我得到一个404错误。日志显示以下消息:

代码语言:javascript
运行
复制
2019/06/20 05:33:59 [error] 8#8: *1 open() "/usr/share/nginx/html/api/v1/ping" failed (2: No such file or directory), client: 172.17.0.1, server: localhost, request: "GET /api/v1/ping HTTP/1.1", host: "127.0.0.1:4000"

为什么nginx不将我的请求代理到应用服务器?我应该在我的nginx配置文件中修复什么才能成功代理。

EN

回答 2

Stack Overflow用户

发布于 2019-06-20 18:56:19

代码语言:javascript
运行
复制
location ^~ /api/v1/ {
    proxy_pass http://127.0.0.1:9191;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    client_max_body_size    1000m;
}
票数 0
EN

Stack Overflow用户

发布于 2019-06-20 21:18:41

我想出了解决方案,实际上nginx的docker图像包含一个default.conf文件,该文件具有指向'/‘路径的配置,这导致它默认位于html文件夹。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56679589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档