J'ai une configuration simple de proxy inverse Apache 2.2 sur OSX avec trois hôtes virtuels qui fournissent tous une authentification SSL et Open Directory avant de tout transmettre à leurs serveurs dorsaux respectifs.
Pour chacun des trois hôtes virtuels, les choses fonctionnent bien et semblent assez rapides, mais si l'un d'entre eux est inactif pendant plus de 10 minutes environ (je n'ai pas de timing précis), à partir d'un hôte donné, le premier appel prend presque une minute, puis les appels suivants sont < 1s. Ce délai est certainement au niveau du proxy, je ne vois aucun trafic sur le serveur dorsal jusqu'à la dernière seconde de l'attente.
Qu'est-ce que je pourrais faire de mal ici ? Qu'est-ce qui peut provoquer un tel délai pour un proxy inverse ? Est-ce qu'il rafraîchit un cache ? Comment dois-je procéder pour le déboguer ?
Mes hôtes virtuels se ressemblent tous et le reste de la configuration d'Apache est très simple, avec seulement les modules dont j'ai besoin et une configuration très basique...
ServerRoot "/usr"
User _www
Group _www
DefaultType text/html
Listen 80
Listen 443
Listen 6660
DocumentRoot /Volumes/data/httpd
# Basic Requirements for a proxy
LoadModule mime_module libexec/apache2/mod_mime.so
LoadModule log_config_module libexec/apache2/mod_log_config.so
LoadModule env_module libexec/apache2/mod_env.so
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
# Needed for OD Authentication
LoadModule apple_auth_module libexec/apache2/mod_auth_apple.so
# Needed for SSL (duh)
LoadModule ssl_module libexec/apache2/mod_ssl.so
ErrorLog /var/log/apache2/error_log
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog /var/log/apache2/access_log common
<IfModule mod_ssl.c>
SSLSessionCache shmcb:/var/run/ssl_scache(512000)
SSLSessionCacheTimeout 300
SSLMutex file:/var/log/apache2/ssl_mutex
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
AddType application/x-x509-ca-cert crt
AddType application/x-pkcs7-crl crl
</IfModule>
NameVirtualHost *:80
NameVirtualHost *:443
NameVirtualHost *:6660
<VirtualHost *:443>
ServerName mysite.server.com
SSLEngine On
SSLProxyEngine On
SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
SSLProtocol -ALL +SSLv3 +TLSv1
SSLProxyProtocol -ALL +SSLv3 +TLSv1
SSLCertificateFile "/etc/certificates/mysite.crt"
SSLCertificateKeyFile "/etc/certificates/mysite.key"
<Location />
Order deny,allow
Deny from all
AuthType Basic
Require group <my access group>
Allow from <my test ip>
Satisfy Any
AuthName "MyGroup"
</Location>
SetEnv proxy-chain-auth On
ProxyPreserveHost On
ProxyPass / http://backend.mysite.com/ retry=0 keepalive=On
ProxyPassReverse / http://backend.mysite.com/
</VirtualHost>
0 votes
Autre information, si je lance une autre requête dans la foulée, la seconde s'achève en une seconde tandis que la première continue d'attendre.