Re: mod_rewrite, mod_proxy and content-length

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

 



Unfortunately it's not my client, but Nokia's EAIF MMSC (emulator in this case).

Like I said, I've coded my application to the protocol (EAIF) and it works. I only need to add apache httpd in between in order to restrict access to the application (by IP address range).

The response headers without using apache httpd:
HTTP/1.1 202 Accepted
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4 (build: CVSTag=JBoss_4)/Tomcat-5.5
Transfer-Encoding: chunked
Date: Wed, 25 Jul 2007 08:39:07 GMT

And the headers using apache httpd and mod_proxy:
HTTP/1.1 202 Accepted
Date: Wed, 25 Jul 2007 08:43:37 GMT
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4 (build: CVSTag=JBoss_4)/Tomcat-5.5
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/plain

As you can see, httpd is replacing Transfer-Encoding with C-L, which is breaking things.
I've used 'SetEnv proxy-sendchunked 1' in my httpd config, but it did not make a difference.

Another kind of response (204 No Content) used for synchronous ACKs has the same issue.

I'm tempted to hack the mod_proxy code but only has a last resort. Surely there must be some way to configure httpd to stick with the original headers.

Cheers

Dan

On 25/07/07, Vincent Bray <noodlet@xxxxxxxxx> wrote:
On 25/07/07, Daniel JavaDev <dan.javadev@xxxxxxxxxxxxxx> wrote:
> Hi all,
>
> I have the following rules on my apache 2.2.4 config:
>
> RewriteEngine on
> RewriteRule ^/someURL http://anotherURL [P]
>
> where someURL is the a publicly available url, and anotherURL is a private
> url (localhost on another port). This setup is for restricting access to an
> application server.
>
> It all works fine, except that the application needs to return an empty body
> response (ACK) for some HTTP POSTs, and apache is adding the CONTENT-LENGTH:
> 0 header to those responses, which is an invalid header in the context of
> the protocol used by the application.
>
> Is there anyway of forcing apache not to add the content-length header to
> the responses?
>

Apache is a http server, not a http-but-not-really server. If your
client barfs on a correct Content-Length header then your client is
broken. I'd suggest either using 204 No Content, or designing your own
protocol.

--
noodl

---------------------------------------------------------------------
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