我知道可以将nginx配置为充当负载平衡器,但是我想知道是否可以在代理之间进行负载平衡?假设我在本地主机上运行多个代理,并且我想使用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;
}
}
}
但是,当我发送像这样的curl请求时:
curl http://icanhazip.com -x localhost:8080
它忽略了url,并且得到的响应类似于如果我直接向其中一个代理服务器发送请求时所期望的响应:
curl localhost:9999
当然,我并不真正希望它能起作用,因为必须有某种选择来告诉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实例。在这种模式下,不会声明任何服务器,并且连接将转发到“ http://”方案之后在URL中找到的IP地址和端口。
没有执行主机地址解析,因此仅在传递纯IP地址时才起作用。由于此选项的使用范围相当有限,因此只有知道他们确实需要它的专家才能使用它。这与HTTP隧道模式不兼容。
据我所知,nginx没有此功能。
这是一个类似的问题。https://superuser.com/questions/604352/nginx-as-forward-proxy-for-https
您为什么不能按照链接文章中的描述使用haproxy?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句