我知道nginx可以配置为充当负载均衡器,但我想知道是否有可能在代理之间进行负载平衡?假设我有多个代理在localhost上运行,我想使用nginx提供单点连接,以便我可以在代理之间轮换.我试图在这里实现类似于帖子的东西,它使用的是HAProxy而不是nginx.我有以下内容nginx.conf:
events { }
http {
upstream proxies {
server localhost:9998;
server localhost:9999;
server localhost:10000;
}
server {
listen 8080;
location / {
proxy_pass http://proxies;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我发送这样的卷曲请求时:
curl http://icanhazip.com -x localhost:8080
Run Code Online (Sandbox Code Playgroud)
它忽略了url,如果我直接向其中一个代理服务器发送请求,我会收到类似于我的预期的响应:
curl localhost:9999
Run Code Online (Sandbox Code Playgroud)
当然,我并没有真正期望它能够工作,因为必须有一些选项来告诉nginx将上游服务器视为代理本身.但是,我在网上搜索后无法找到如何做到这一点.
正如您在 haproxy 帖子 haproxy akt 作为转发代理中看到的
选项 http_proxy
手册中描述了此选项的含义https://cbonte.github.io/haproxy-dconv/1.6/configuration.html#4-option%20http_proxy
有时人们需要一个纯粹的 HTTP 代理,它可以理解基本的代理请求,无需缓存或任何花哨的功能。在这种情况下,可能值得设置一个设置了“option http_proxy”的 HAProxy 实例。在此模式下,不声明服务器,连接将转发到 URL 中“http://”方案后找到的 IP 地址和端口。
不执行主机地址解析,因此仅在传递纯 IP 地址时才有效。由于此选项的使用范围相当有限,因此可能只有知道自己确实需要它的专家才会使用它。这与HTTP隧道模式不兼容。
据我所知nginx没有这个功能。
类似的问题是这样的。 https://superuser.com/questions/604352/nginx-as-forward-proxy-for-https
为什么您不能按照链接帖子中的描述使用 haproxy?
| 归档时间: |
|
| 查看次数: |
778 次 |
| 最近记录: |