在执行代理操作之前,告诉haproxy或squid执行脚本或http请求

在执行代理操作之前,告诉haproxy或squid执行脚本或http请求,proxy,execution,squid,haproxy,Proxy,Execution,Squid,Haproxy,有没有办法让haproxy或squid在执行传入请求的代理之前运行(bash)脚本(或另一个http请求) 我想在userX.mydomain.com上托管一个特定于userX的http服务器(和服务),但这类服务是否可以运行取决于托管它们的机器的负载 因此,在一天中的第一次,必须启动userX对url userX.mydomain.com的访问,该url是承载serviceX的http服务器 多亏了haproxy、xinetd、一些bash脚本和“HTTP刷新头指令”,我已经能够在HTTP服务

有没有办法让haproxy或squid在执行传入请求的代理之前运行(bash)脚本(或另一个http请求)

我想在userX.mydomain.com上托管一个特定于userX的http服务器(和服务),但这类服务是否可以运行取决于托管它们的机器的负载

因此,在一天中的第一次,必须启动userX对url userX.mydomain.com的访问,该url是承载serviceX的http服务器

多亏了haproxy、xinetd、一些bash脚本和“HTTP刷新头指令”,我已经能够在HTTP服务器/服务启动后执行刷新

但现在我想让它变得更好,让“http服务启动”对请求GET、PUT或POST的客户机透明,并立即正确响应,即使在第一个http请求时也能得到正确的服务响应

因此,我需要启动服务,然后立即将请求代理给刚刚启动的服务

我已经在haproxy中尝试了“http检查”和“检查”选项,但我认为它们对我没有用处,因为healt检查与haproxy的请求处理是异步的。相反,我需要为每个请求执行此脚本,然后haproxy代理该请求

如果squid允许执行这种操作,我甚至可以让haproxy将请求代理给squid,然后启动服务并代理请求

有人有实现它的想法吗


提前感谢。

这可以使用proxymachine-

基本上,proxymachine可以拦截HTTP请求、解析头、运行任意Ruby代码,然后转发连接

您需要在proxymachine获得连接之前终止SSL,例如使用haproxy(具有新的SSL功能)