I'm currently facing an issue with our Apache configuration. For one of the virtualhosts we have configured ProxyRemote to send all traffic through one proxy tunnel. In some cases we recognized that not all the traffic is going through this tunnel.
The config looks like something like that:
<VirtualHost localhost:8800>
ErrorLog logs/p8800-error_log
CustomLog logs/p8800-access_log custom_extended
RewriteLog logs/p8800-rewrite_log
RewriteLogLevel 9
RewriteEngine On
SSLProxyEngine On
...
RewriteCond %{REQUEST_URI} ^/services
RewriteRule ^/services$ https://3rdpartysite/services/ [P,L]
ProxyPassReverse /services https://3rdpartysite/services/
ProxyRemote * http://proxyip:8080/
RewriteCond %{REQUEST_URI} ^/services
RewriteRule ^/services(.*)$ https://3rdpartysite/services$1 [P,L]
ProxyPassReverse /services https://3rdpartysite/services
</VirtualHost>
I checked the traffic which reaches the site with tcpdump and checked the port (which was used by the connection) with netstat I'm 99% sure this virtualhost is reaching the site without proxy (in fact nothing else uses the 3rdpartysite just this virtualhost). Oh, and yeah, from netstat I also checked the pid and it was httpd.worker.
In the error log I can see the below logs when it is connecting without the proxy, but I'm not sure they are connected: (70007)The timeout specified has expired: proxy: error reading status line from remote server
All in all I have 3 questions:
- Does it matter where is the ProxyRemote directive?
- Do you guys know a way how to check which request are served by an httpd.worker?
- Do you know a way to know for sure which process is opening the connection to the site?
Thanks in advance! :)
Aucun commentaire:
Enregistrer un commentaire