Re: Reverse Proxy and an External Filter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




  Thank you for the response.  I had expected horrible performance from an external filter, but it is surprisingly fast.  Fortunately, I don't have to scale up to more than a few users for now.  I'm all ready to start coding an output filter, but given the investment in time and the little time remaining, I would like to get this external filter working.  All the same, I'll purchase the book tonight.

  Since the entity bodies are heavily binary, my filter treats all responses as a byte array and does no text or string operations.  In case, anyone finds it useful, I've excerpted the error.log showing the call to the external filter.  The non-timestamped log entries were written by the external filter.

Mark Zetts



[Thu Apr 19 18:12:02 2007] [debug] mod_proxy_http.c(54): proxy: HTTP: canonicalising URL //gis.orem.org/servlet/com.esri.esrimap.Esrimap
[Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(1378): [client 0.0.0.0] proxy: http: found worker http://gis.orem.org for http://gis.orem.org/servlet/com.esri.esrimap.Esrimap?ServiceName=catalog&CustomStream=True&ClientLocale=en_US&ClientVersion=3.1
[Thu Apr 19 18:12:02 2007] [debug] mod_proxy.c(777): Running scheme http handler (attempt 0)
[Thu Apr 19 18:12:02 2007] [debug] mod_proxy_http.c(1662): proxy: HTTP: serving URL http://gis.orem.org/servlet/com.esri.esrimap.Esrimap?ServiceName=catalog&CustomStream=True&ClientLocale=en_US&ClientVersion=3.1
[Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(1798): proxy: HTTP: has acquired connection for (gis.orem.org)
[Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(1859): proxy: connecting http://gis.orem.org/servlet/com.esri.esrimap.Esrimap?ServiceName=catalog&CustomStream=True&ClientLocale=en_US&ClientVersion=3.1 to gis.orem.org:80
[Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(1955): proxy: connected /servlet/com.esri.esrimap.Esrimap?ServiceName=catalog&CustomStream=True&ClientLocale=en_US&ClientVersion=3.1 to gis.orem.org:80
[Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(2146): proxy: HTTP: connection complete to 198.60.110.7:80 (gis.orem.org)
[Thu Apr 19 18:12:02 2007] [debug] mod_proxy_http.c(1448): proxy: start body send
[Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(628): [client 0.0.0.0] filtering `/CivilLand/servlet/com.esri.esrimap.Esrimap' of type `(unspecified)' through `G:/Program_Files/Apache Software Foundation/Apache2.2/bin/vdlfilter.exe', cfg ExtFilterOptions DebugLevel=99 LogStderr PreservesContentLength ExtFilterInType */* ExtFilterOuttype (unchanged)

 In = 0  ------------
 Read = 0     st_size = 0
Out -------------------------------------------------
[Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(820): [client 0.0.0.0] apr_file_read(child output), len 0
[Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(820): [client 0.0.0.0] (70014)End of file found: apr_file_read(child output), len -1
[Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(664): [client 0.0.0.0] (70014)End of file found: apr_file_read(child output), len -1
[Thu Apr 19 18:12:02 2007] [error] [client 0.0.0.0] (70014)End of file found: ef_unified_filter() failed
[Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(820): [client 0.0.0.0] (70014)End of file found: apr_file_read(child output), len -1
[Thu Apr 19 18:12:02 2007] [debug] mod_proxy_http.c(1537): proxy: end body send
[Thu Apr 19 18:12:02 2007] [debug] proxy_util.c(1816): proxy: HTTP: has released connection for (gis.orem.org)
[Thu Apr 19 18:12:02 2007] [debug] mod_ext_filter.c(820): [client 0.0.0.0] (70014)End of file found: apr_file_read(child output), len -1






"Joshua Slive" <joshua@xxxxxxxx>
Sent by: jslive@xxxxxxxxx

04/26/2007 01:35 PM

Please respond to
users@xxxxxxxxxxxxxxxx

To
users@xxxxxxxxxxxxxxxx
cc
Subject
Re: Reverse Proxy and an External Filter





On 4/26/07, Mark Zetts <zetts@xxxxxxxxxx> wrote:
>
>   Running Apache 2.2.4 on Windows 2003 server, I have two problems with an
> external filter written in C.  The Apache server is running as a reverse
> proxy.

Dicey situation, that.  I doubt that mod_external_filter is very well
tested under windows. And even if it was, the fork overhead under
windows is high enough to make performance a real issue. If this is
anything more than a toy, you'd probably be much better off writing a
real output filter. (Check out Nick Kew's new book if you need help
with that.)

Other than that, I've never tried mod_ext_filter on windows. But I'd
start by looking at the standard windows cgi stuff. For example, make
sure your stdin and stdout are both in binary mode.

Joshua.

---------------------------------------------------------------------
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@xxxxxxxxxxxxxxxx
  "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux