我正在使用Apache 2.2.15作为在Scientific Linux 6上运行的反向代理。它被用于将应用程序连接到远程服务器,在远程服务器上连接的应用程序要求CONNECT请求完整地通过身体。
代理正确接收连接:
CONNECT <destinationhost>:6220 HTTP/1.1
但目标服务器收到这个:
[17/Jun/2014:15:01:13 +0200] "CONNECT / HTTP/1.1" 400 346 "-" "-"
那么代理内部的CONNECT体是“剥离”的? 所有其他的请求方法工作得很好,只有在使用CONNECT时才会出现问题。 这与TLS和无。 所有的标题似乎正确地通过。
我的代理configuration如下:
<VirtualHost *:80> <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://destinationhost:8082/ ProxyPassReverse / http://destinationhost:8082/ </VirtualHost>
我已经尝试了指令“AllowCONNECT 6220”,并使用RewriteRules进行代理,但它们似乎没有什么区别。
结果与简单的telnettesting一样,并且在我的本地Ubuntu机器上使用Apache作为代理。 那么对于CONNECT这种正常行为,问题实际上是应用程序在目的地运行,期待一个“畸形”的CONNECT请求?
如果不是,可能是什么问题?