Saya mencoba memahami apa yang terjadi dengan pesan berikut di Apache 2.2 error_log kami:
Wed May 18 21:03:29 2011] [error] [client 172.20.10.10] (70007)The timeout specified has expired: proxy: error reading status line from remote server super-load1-ga.test.com, referer: https://tester2.test.com/boom/ga/inside.as
hal
Kami menjalankan Apache 2.2 dengan mod_proxy. Apakah Apache ini membatalkan permintaan terkait dengan nilai TimeOut 5 menit di httpd.conf? (Artinya tidak menerima respons dari server jarak jauh dalam 5 menit). Atau apakah ini hanya tanggapan dari server jarak jauh yang mengatakan bahwa ia tidak dapat menangani koneksi?
Apache dengan cepat kehabisan MaxClients pada saat saya melihat kesalahan ini.
Contoh cepat entri Proksi:
ProxyPass /boom/ga https://super-load1-ga.test.com
ProxyPassReverse /boom/ga https://super-load1-ga.test.com
sumber
Timeout
nilai global Anda akan digunakan. Lihat httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxytimeout dan httpd.apache.org/docs/2.2/mod/core. html # timeoutSepertinya server Anda
https://super-load1-ga.example.com
terlalu lama merespons.Dalam skenario itu, jika hanya duduk di sana maka proses Apache akan menunggu untuk itu. Proses itu pada dasarnya diblokir, yaitu tidak dapat melakukan hal lain. Jika Anda tidak cukup waktu, Anda akan kehabisan proses Apache dan menekan MaxClients yang tampaknya masuk akal.
Anda harus memiliki log di situs super-load1-ga.test.com untuk melihat berapa lama permintaan, mereka harus berusia.
Anda berpotensi memperpendek batas waktu pada koneksi ProxyPass
http://httpd.apache.org/docs/current/mod/mod_proxy.html#workers
sumber
Untuk menjawab pertanyaan Anda, ya, Apache2 httpd dalam mode proxy tidak mencatat pesan kesalahan itu ketika Apache2 httpd habis. Jika server terhubung ke Apache2 httpd dalam mode proxy adalah penyebabnya akan ada pesan yang berbeda.
Pesan memiliki beberapa bagian:
The timeout specified has expired
adalah teks yang setara denganAPR_TIMEUP
kode kesalahan, lihat:srclib / apr / misc / unix / errorcodes.c
Lalu
proxy: error reading status line from remote server super-load1-ga.test.com
ada dimodules / proxy / mod_proxy_http.c
Jika Anda menaikkan level log ke APLOG_DEBUG, Anda akan melihat pesan tambahan:
proxy: read timeout
juga.sumber