Hi
I'm new to the list and have a question on ProxyPass and message bodies, please
excuse me if I have posted to much.
My setup is as follows
Apache httpd-2.2.15-15.el6_2.1.x86_64
Linux version 2.6.32-276.el6.x86_64
Red Hat Enterprise Linux Server release 6.3 (Santiago)
apache-activemq-5.7.0
First an explnation of why I need to involve httpd ProxyPass.
I have an application off site that needs to post to an activemq queue, however
the body of the message is always empty in activemq and the application can't
be updated to support adding form values or headers.
If I sniff the traffic (wireshark capture of TCP stream) between the app and
activemq it looks like this (IP chnaged to * for this email)
POST /amq?type=queue HTTP/1.1
Host: x.x.x.x:8008
Content-Length: 610
Expect: 100-continue
Connection: Keep-Alive
HTTP/1.1 100 Continue
<myData>this is a test</myData>
HTTP/1.1 200 OK
Date: Thu, 25 Jul 2013 12:52:23 GMT
Server: Jetty(7.6.7.v20120910)
Expires: Thu, 01 Jan 1970 00:00:00 GMT
messageID: ID:ip-10-0-0-153-33880-1374749906292-3:20:1:1:1
Content-Length: 12
Set-Cookie: JSESSIONID=1o7qt3kvw66nl1nierm2uoupm;Path=/api
Content-Type: application/x-www-form-urlencoded
username: admin
password: admin
Connection: close
Message sent
A correct way of posting directly into the queue looks like this
----------------------------------------------------------------------
POST /api/message/myQueue?type=queue HTTP/1.1
Host: x.x.x.x:8161
Connection: keep-alive
Content-Length: 1134
Authorization: Basic YWRtaW46YWRtaW4=
username: admin
Origin: chrome-extension://hgmloofddffdnphfgcellkdfbfbjeloo
password: admin
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/28.0.1500.72 Safari/537.36
Content-Type: application/x-www-form-urlencoded
Accept: */*
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: JSESSIONID=93rygqkem0wyr3w7seha3v1b;
PHPSESSID=i3173m4g4gk97oc9tgea7nvsg6
%3CmyData%3EThis%20is%20a%20test%3C%2FmyData%3E
1.1 200 OK
Set-Cookie: JSESSIONID=vd4qc0e40uhkkwv9381zgedb;Path=/api
Expires: Thu, 01 Jan 1970 00:00:00 GMT
messageID: ID:ip-10-0-0-153-33880-1374749906292-3:22:1:1:1
Content-Length: 12
Server: Jetty(7.6.7.v20120910)
Message sent
-------------------------------------------------------------
My plan was to have the application post to the httpd web server port 8008
first and I could add addtional headers and possibly urlencode the body of the
message (is that possible with httpd?)
In httpd.conf I have specified the following (IP has been changed to * for this
email)
<VirtualHost *:8008>
Header set Content-Type "application/x-www-form-urlencoded"
RequestHeader set Content-Type "application/x-www-form-urlencoded"
Header set username "admin"
RequestHeader set username "admin"
Header set password "admin"
RequestHeader set password "admin"
ProxyPass /amq http://*.*.*.*:8161/api/message/myQueue
ProxyPassReverse /amq http:// *.*.*.*:8161/api/message/myQueue
</VirtualHost>
httpd gets the post message from the app on port 8008, adds some headers and
then passes it on to activemq, however the body is blank, is there a way to
urlencode the body of a POST in httpd? or add a form value of body= ?
Thanks in advance
Chris
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]