Sommario/Quesiton:Posso usare Apache mod_proxy come pool di connessione, sotto Prefork MPM?
ho Apache in esecuzione con Prefork MPM, in esecuzione php. Sto cercando di utilizzare Apache mod_proxy per creare un proxy inverso che possa reindirizzare le mie richieste attraverso, in modo che io possa usare Apache per fare il pool di connessioni. impl Esempio:
in httpd.conf:
SSLProxyEngine On
ProxyPass /test_proxy/ https://destination.server.com/ min=1 keepalive=On ttl=120
ma quando corro la mia prova, che è il seguente comando in un ciclo:
curl -G 'http://localhost:80/test_proxy/testpage'
non sembra di ri- usa le connessioni.
Dopo qualche ulteriore lettura, sembra che non sto ottenendo la funzionalità del pool di connessioni perché sto usando l'MPM di Prefork piuttosto che il MPM di Worker. Quindi ogni volta che faccio una richiesta al proxy, esso fa girare un nuovo processo con il proprio pool di connessione (di dimensione uno), invece di utilizzare il singolo lavoratore che mantiene il proprio pool. Questa interpretazione è giusta?
informazioni Background:
C'è un server esterno che io faccio richieste di, tramite HTTPS, per ogni pagina ha colpito su un sito che corro.
La negoziazione dell'handshake SSL sta diventando costosa, perché uso php e non sembra supportare il pool di connessioni - se ottengo 300 richieste di pagine sul mio sito, devono fare 300 handshake SSL al server esterno, perché le connessioni vengono chiuse al termine di ogni script.
Quindi sto tentando di utilizzare un proxy inverso in Apache per funzionare come un pool di connessioni, per mantenere le connessioni tra i processi php in modo da non dover fare l'handshake SSL più spesso.
fonti che mi ha dato questa idea:
- http://httpd.apache.org/docs/current/mod/mod_proxy.html
- http://geeksnotes.livejournal.com/21264.html
Grazie per la risposta. Questo mi ha aiutato molto a capire se il pool di connessioni fosse addirittura possibile usando MPM_prefork. La documentazione Apache e persino il mod_proxy che registra il livello di debug non è molto eloquente sul fatto che le connessioni vengano riutilizzate o meno. Nel mio caso si è scoperto che non è il Proxy inverso ma il server di back-end era il Problema. Rileva il browser come un MSIE ispezionando l'intestazione HTTP 'User-Agent' e chiudeva quindi la connessione SSL alla fine di ogni richiesta. Ecco perché il proxy inverso non stava mai riutilizzando le connessioni SSL al server di back-end. – BertNase
Il 500 è tuo, come il tuo commento mi ha aiutato a capire cosa stava succedendo, Invierò una risposta per far notare che cosa stava cogliendo i problemi nel mio caso. – BertNase