docker - Dockerized nginx 重定向回客户端而不是代理到上游
问题描述
我在容器中运行 nginx 时遇到问题。它重定向所有不是 GET 请求的请求。因此上游服务器无法接收任何发布数据。
下面是我的服务器配置
events {
worker_connections 1024;
}
http {
# access_log logs/access.log;
# error_log logs/errors.log;
# proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
upstream auth {
server auth:5001;
}
upstream stores {
server 127.0.0.1:5002;
}
server {
listen 5000;
server_name localhost;
location / {
access_log off;
return 200 "welcome to face4biz";
}
include /etc/nginx/conf.d/*.conf;
}
}
这里还有一个用于身份验证上游服务的示例位置指令
location /auth/login/ {
proxy_pass http://auth;
# proxy_redirect off;
# proxy_set_header Host $http_host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Host $server_name; }
解决方案
事实证明 API 网关仅在 nginx plus 中受支持
推荐阅读
- aws-lambda - 离线本地 Step Function 任务 Lambda 不返回其输出并冻结状态机直到超时
- r - ggplot2:“错误:必须从色调调色板中请求至少一种颜色。” 用于绘制空间问题解决方案
- java - spring boot - 自动装配和构造函数
- javascript - 使用 react-hook-form 重置功能时不会重置 Material-UI 复选框
- nginx - 文本显示为问号(html 错误页面)(nginx + elastic beanstalk)
- python - 在 Html (django) 中解析嵌套字典
- asp.net-core - 模拟没有返回设置值
- drupal-8 - Drupal 9 显示用户已验证的块,但隐藏其他成员角色
- java - 如果您使用 DragSource 和 DropTarget 对,则 Vaadin 14 在 DIV 中放置位置
- android - 如何修复此错误“必须初始化不可为空的变量 '_mediaQueryData'。”