You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Richard Savage <ri...@bzcorp.ca> on 2002/04/05 19:47:52 UTC

Delay problems with Apache 1.3.24 and reverse proxy

Hi,

We are presently running with this setup in our environnement:


client (telnet or any browser) ----> Apache 1.3.22 with reverse proxy -----> Weblogic App Server

(see our httpd.conf below for more information...)


Everything was working fine until we tried to upgrade to 1.3.24. We started seing some weird behaviour when the client
is requesting certains files that reside on the app servers. The delay for getting those files were taking around 60 seconds.

(See the experiments results and our apache config file below)

Questions:

Are the app server supposed to send a "Connection: KeepAlive" to the web server ?

What should be the normal behaviour of the web server ? Should he know it is a proxy request and pass the gif file immediatly to the browser
instead of waiting for more ?

What can I do to correct this situation ? I supposed I can downgrade or keep using HTTP/1.0 for proxying,
but I really want to get with the show...

Thanks a lot !      I'll make sure to post the results of my

finding/solutions...

------------------------------------------------------------

Here are the results:

Going throught the reverse proxy (using HTTP/1.1 and HTTP/1.0):

telnet 192.168.18.25 8080
Trying 192.168.18.25...
Connected to 192.168.18.25.
Escape character is '^]'.
GET /images/mail2.gif HTTP/1.1
Host: 192.168.18.25

HTTP/1.1 200 OK
Date: Thu, 04 Apr 2002 20:37:53 GMT
Server: WebLogic 5.1.0 Service Pack 6 09/20/2000 21:03:19 #84511
Content-Length: 765
Content-Type: text/plain
Last-Modified: Mon, 19 Mar 2001 17:54:51 GMT
X-Cache: MISS from stgznc01-02
Connection: close

(the web server receive the file right away from the app, but wait for 60 seconds before sending
the file to the browsers, everytime, and the app respond to the web with the following header:

HTTP/1.1 200 OK
Server: WebLogic 5.1.0 Service Pack 6 09/20/2000 21:03:19 #84511
Content-Length: 765
Content-Type: text/plain
Last-Modified: Mon, 19 Mar 2001 17:54:51 GMT
Connection: Keep-Alive
)

---------------------------

telnet 192.168.18.25 8080
Trying 192.168.18.25...
Connected to 192.168.18.25.
Escape character is '^]'.
GET /images/mail2.gif HTTP/1.0

HTTP/1.1 200 OK
Date: Thu, 04 Apr 2002 20:41:29 GMT
Server: WebLogic 5.1.0 Service Pack 6 09/20/2000 21:03:19 #84511
Content-Length: 765
Content-Type: text/plain
Last-Modified: Mon, 19 Mar 2001 17:54:51 GMT
X-Cache: MISS from stgznc01-02
Connection: close

(instant reception of the file, the app respond to the web with the

following header:

HTTP/1.1 200 OK
Server: WebLogic 5.1.0 Service Pack 6 09/20/2000 21:03:19 #84511
Content-Length: 765
Content-Type: text/plain
Last-Modified: Mon, 19 Mar 2001 17:54:51 GMT
Connection: Close
)

-------------------------------
If we connect directly to the app server :


telnet 192.168.18.31 7601
Trying 192.168.18.31...
Connected to 192.168.18.31.
Escape character is '^]'.
GET /images/mail2.gif HTTP/1.1
Host: 192.168.17.31

HTTP/1.1 200 OK
Server: WebLogic 5.1.0 Service Pack 6 09/20/2000 21:03:19 #84511
Content-Length: 765
Content-Type: text/plain
Last-Modified: Mon, 19 Mar 2001 17:54:51 GMT
Connection: Keep-Alive

(instant reception of the file)
------------------------------------------------

Going directly at the app server(using HTTP/1.1 and HTTP/1.0):

telnet 192.168.18.31 7601
Trying 192.168.18.31...
Connected to 192.168.18.31.
Escape character is '^]'.
GET /images/mail2.gif HTTP/1.0

HTTP/1.1 200 OK
Server: WebLogic 5.1.0 Service Pack 6 09/20/2000 21:03:19 #84511
Content-Length: 765
Content-Type: text/plain
Last-Modified: Mon, 19 Mar 2001 17:54:51 GMT
Connection: Close

(instant reception of the file)


Another thing: Before, on the app server, we were seing the request IP address as being from the web server,
now we see the client IP address, I assume it has to do with HTTP/1.1, but I though I should mention it...

-----------------------------------

Here is our apache config:

#
ServerType standalone
ServerRoot "/usr/local/apache1.3.24/"
LockFile /usr/local/apache1.3.24/logs/httpd.lock
PidFile /usr/local/apache1.3.24/logs/httpd.pid
ScoreBoardFile /usr/local/apache1.3.24/logs/httpd.scoreboard
TypesConfig /usr/local/apache1.3.24/conf/mime.types
DocumentRoot "/opt/webapp/public_html/static"

User apache
Group apache

ServerAdmin root@localhost
ServerName stgweb02

Listen 8080

ClearModuleList
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_proxy.c
AddModule mod_rewrite.c

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\"

\"%{Cookie}i\"" common
CustomLog "/usr/local/apache1.3.24/logs/access.log" common

RewriteEngine   on
ProxyRequests   on
NoCache

# Make sure no one uses our proxy except ourself
RewriteRule             (http|ftp)://.* -       [F]

RewriteRule             /static/(.*)            /$1  [L]

RewriteRule             (.*)            http://192.168.18.31:7601$1

[P,L]
ProxyPassReverse        /               http://192.168.18.31:7601


-------------------------

Thanks a lot !

Richard Savage


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org