如何解决Reverse Proxying with nginX,重定向响应的信息存放在哪里
这似乎是一个简单的问题,应该有一个简单的答案,但我无法通过在文档中搜索以及一些教程和解释(如 this one)找到它。
我们可以实现 a reverse proxy with nginX 一个示例配置可能是我在底部提供的代码。反向代理将接受请求,
将它们转发到 http://<myonline-server.mycloud>:<port>/mybar/...
处的内部服务,并将响应转发回执行请求的 ip/端口。
我的问题是,它如何知道将响应转发到哪里?
我能想到两种可能的解决方案:
- 它保留了一个查找表,以了解将其发回何处。如果是这种情况,它需要维护状态(查找表?)。
- 它在响应中使用一些对应于它在内部请求上设置的标头的标头(例如 X_forwarded????)。我不是问是否设置了这样的标头,我问的是它是否以及何时用于路由回答案。在这种情况下,没有维护状态,但是如果内部服务器弄乱了响应,可能会发生不好的事情(从不知道发送到哪里,发送到错误的接收者,甚至将远程 dos 攻击安装到随机 ip.. .)
例如nginx.conf:
location /foobar/ {
# I disbled caching so the browser won't cache the site.
expires 0;
add_header Cache-Control private;
proxy_pass http://<myonline-server.mycloud>:<port>/mybar/;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。