CSM HTTP Probes with Method GET
Hello.
How does the HTTP Probe with Method GET work on CSM and what is the difference with CSS?
CSS calculates the HASH of the web page it receives as a first answer and considers that as a REFERENCE HASH, to compare with subsequent answers. Is the behaviour of the CSM the same?
In the CSS it is also possible to insert the HASH in the configuration as a reference HASH. I did not find such a command on the CSM. Is that feature not present on CSM?
Thanks.
the CSM just looks for the response code.
No hash or anything similar to the CSS.
Regards,
Gilles.
Similar Messages
-
ACE http probe "request method type" mandatory on A3(2.6)?
Hi people,
I recently upgraded to A3(2.6) from A3(2.0) and I don't see the N/A option on the http probe "request method type".
It also has an asterisk * which means it's mandatory.
I tried to set up a new http probe for another farm I am creating and the probe shows status failed, although I can ping and telnet to the http server on port 80 from the ACE context. My probe is like that:
probe http http_probe_WWW
interval 15
passdetect interval 60
expect status 200 200
open 10
My other http probes for other farms work ok after the upgrade and they are similar.
So my question is: Do I need to set the request method type or something else causes the probe to fail?
thanks a lot.
GeorgeWhat you see is a problem with the GUI.
CSCtg78008 while creating http probe default method slected should be get as in CLI
But the request-method is not required.
So your config should work.
Do a 'show probe detail' to see the failure reason.
Get a sniffer trace as well.
Regards,
Gilles. -
ACE HTTP Probe with regex
Hi,
I'm trying to setup a HTTP probe with expected string rather then a code (config below). I do a GET for the page then a search for a string in the response however it's not working, as probe appears as failed.
I've tested the connection to the server by using telneting and then looking at the page displayed to make sure the string I want to match is in the response.
probe http HTTP-PROBE
port 43050
interval 30
passdetect interval 30
passdetect count 1
request method get url /action=help
open 43050
expect regex action=help
Q. Is there anything wrong with this configuration and what I'm trying to achive?
Thanks,
PriteshUse "expect status" under probe config. expect regex doesnt work if expect status is not configured.
expect regex work flawlessly with static pages. It doesnt work all the time with dynamic pages.
Specially if "content-length" header is missing from Server response.
Hope it helps
Syed Iftekhar Ahmed -
ACE Appliance HTTP Probe with "POST" query
Does the ACE support HTTP Probe with a "POST" query?
Thanks
JoeHi Joe,
The ACE only supports GET and HEAD
Here is the documentation related to this:
http://www.cisco.com/en/US/customer/docs/interfaces_modules/services_modules/ace/vA5_1_0/configuration/slb/guide/probe.html#wp1031485
Cesar R -
Strange HTTP probe with .cfm files.
Hey All,
I setup an http probe that checks a .cfm page for a keyword. according to the documentation there needs to be a content-length in the header for this to be parsed correctly. For some reason this .cfm page does not send the content-length. The developer manually told coldfusion to put the content-length in the header and I can see that the header now has the content-length. The probe is still failing with "Unrecognized or invalid response" If i put a test html page with a keyword, it parses it correctly and passes. If i change the keyword it fails as expected. Has anyone had any issues with the headers of coldfusion? There is no compression on the server side. Below is the probe.
probe http KEYWORD
interval 15
passdetect interval 30
request method get url /index.cfm
open 2
expect regex "go"
Any help or suggestion would be much appreciated.
Regards,
ChristianHey Christian and Paul,
Actually, when using expect regex, you don't need the expect status. I alerted the documentation team about this and they have updated the documents with the following note:
Note If you do not configure an expected status code, any response from the server is marked as failed. However, if you configure the expect regex command without configuring a status code, the probe will pass if the regular expression response string is present.
Christian,
You mention that you see the error message Unrecognized or invalid response, even with the content-length header added. Is this the same error message you got before your app team added the header? If so, then I might suspect that the ACE doesn't like the format they used. The header should look like this:
Content-Length:
This is per RFC2616 and can be found at section 14.13 here. Note that the C and the L are uppercase, the header name is immediately followed by a colon, and there is a spece between the colon and the value.
I would recommend confirming that the header matches this description in a network capture. If it does match, then I would like to see the capture, if possible.
Thanks and I hope this helps,
Sean -
I am using the HTTP probe shown below. When we shutdown our backend application the server is returning a 500 response code to the client but the CSM does not remove it from service.
probe TEST http
request method get url /test/engine
expect status 0 499
interval 10
failed 10
port 8001
What if any difference is there between
request method get url and
request url
Is there any way that I can see the last response code that the CSM received?
It looked like it wanted to fail but didn't:
CSM#sh mod csm 8 probe real 10.10.63.18
real = 10.10.63.18:8001, probe = TEST, type = http,
vserver = D-TESTVIP, sfarm = D-TESTSERVER
status = OPERABLE, current = 16:44:21 EDT 07/22/08,
successes = 1714, last success = 16:44:16 EDT 07/22/08,
failures = 35, last failure = 16:33:55 EDT 07/22/08,
state = Waiting for server to reply
CSM#sh mod csm 8 probe name TEST
type port interval retries failed open receive
http 8001 10 3 10 10 10
Thank you,
DaveOk thanks. I had never seen anything on this venus mode before. It doesn't accept the command though. I get Symbol 'testhttp' not found! when I enter the command. I have version 4.2(3a) of the CSM code running.
VENUS# ?
usage
upgrade slot0:|server-ip-addr filename
create virtual ...
destroy virtual ...
rename virtual ...
add pool ...
remove pool ...
bind virtual-name ...
unbind virtual-name rule-id
reorder virtual-name ...
set balancer ...
classify acl ...
address system ...
show virtual ...
load cfg-filename
restore config defaults|flash|backup
debug ixp rd|wr chip addr #dwords
stats real [rserver-name]
script [file [slot0:script_file|tftp_addr script_file]]
capture [on|off]
venus
tftp core_dump tftp-ip-addr [filename]
exit -
Local Director http probes with URLs and http redirect mode
I am trying to configure http probes on my Local director 430 running 4.2.3
I am using http redirect mode so the Virtual is bound to URLs not REALs with are linked to DIPs which are bound to REALs. So far the probes seem to not actually do anything. Does anyone know if the probes are compatible with URL redirect loadbalancing. And if so how one would go about configuring it.
Thanks for your help.keepalive can be used for the probe notification in this case.
Check the following url for details.
http://www.cisco.com/univercd/cc/td/doc/product/webscale/css/bsccfggd/services.htm#xtocid727448 -
Problem we are having:
A client opens an HTTPS connection to a CSM with SSL offload to SSL module. The decrypted clear HTTP request hits the IIS server and is redirected (301).
The client gets an HTTP redirect and not an HTTPS redirect.
The reason for the 301 redirect is the IIS server does not have a physical resource but rather a virtual directory so it issues a 301 and adds a /. eg https://www.cisco.com/tech is redirected to https://www.cisco.com/tech/ in a working situation.look for the urlrewrite command in order to change HTTP into HTTPS.
Regards,
Gilles. -
We use two redundant CSM-Modules with version 3.1(6).
Now we have the need to check the content of a website in a probe configuration. The serveradmins shall have the possibility with a change of a value in the website bring up or down their server (of the view of the CSM). It's not sufficient to check the http returncode, I think we need the possibility to check the whole checksum of the website.
How can we do this ?
Thanks+Best Regards
HLI don't think the CSM has this feature [like the CSS does have the hash function to detect if the content of a page changed].
However, you can create your own tcl script for the CSM to send an http request and look for a special string in the response from the server.
There are example of tcl script on the CSM software download page.
Regards,
Gilles. -
6500 w/csm client talking with vip gets direct to real
We got a small server farm with four real servers and one vserver. when the client initiate a connection with the vserv it opens up an RPC at a certain point and starts talking directly with one ofthe real servers totally bypassing the vserver and if we take down that real server, then the connection hangs and it does not get re-directed to another server. CSM is setup in bridge mode and the servers are being used for a document management application by Hummingbird. Has anyone seen that kind of behavior?
Any help would be welcomed has we are going live with this project at the end of the week.what is the concern ?
That the client goes directly to the real or that disconnecting the real does not redirect the connection ?
For the later, you should use the command 'failaction purge' under the serverfarm definition.
This will force the CSM to kill the connection if the real goes down.
For the other concern, your application is probably sending at some point its server ip address.
Each server will therefore send its own ip address and the client will go directly to it.
You should see if there is a way for your application to return a "configured" ip address that would be your vip.
You could also try to configure the vip as a loopback ip address on every real server and tell your application to advertise this address.
Hope this helps.
Gilles. -
Does CSM support HTTP/1.0 probe?
A tomcat server is giving a "400 bad request" response if request was sent over HTTP/1.1 and 200 OK over 1.0.Hi,
yes. you can create TCL script and send HTTP/1.0 request to server.
martin -
ACE Module - HTTP Probe failure
Hi,
I have configured the http probe with expect status 200 202, but the probe fails despite availability of the port on rserver.
I tried head/get method to see the return code, and it came back with HTTP1.1/302. How can I configure an http probe to understand HTTP 302 code as success return.
Thanks.I changed the expect status value as below
probe http TEST-HTTP
interval 30
passdetect interval 10
request method head
expect status 302 302
The probe is still failing with the log message
Apr 20 2009 12:04:35 : %ACE-3-251010: Health probe failed for server 192.168.1.10 on port 80, received invalid status code
On 'show probe detail' it shows the last status code as 400 which means Bad Request
--------------------- probe results --------------------
probe association probed-address probes failed passed health
------------------- ---------------+----------+----------+----------+-------
serverfarm : TEST-APP
real : TEST-SERVER1[80]
192.168.1.10 27 27 0 FAILED
Socket state : CLOSED
No. Passed states : 0 No. Failed states : 1
No. Probes skipped : 0 Last status code : 400
No. Out of Sockets : 0 No. Internal error: 0
Last disconnect err : Received invalid status code
Last probe time : Mon Apr 20 12:05:33 2009
Last fail time : Mon Apr 20 12:00:53 2009
Last active time : Never
The http page is showing perfectly on the web browser. Also, using the http head/get tool, I can see that 302 is returned.
What could be the problem.
Regards. -
CFFORM method=GET behaves differently in CFMX6.1 than in CF 8 ?
Hi Everyone,
My organization is in the process of testing applications for a move from CFMX6.1 to CF8, however, we've found there appears to be a difference between the way CFMX6.1 and CF8 handle the GET method in a CFFORM tag.
I'm not quite sure why our developers would have used the "GET" instead of "POST" to begin with. In the application I'm currently testing, I've found that all but one of the 50+ occurrences of "GET" can be changed to "POST" without issue. However, I am a little concerned with the many other apps we have and the amount of testing that would be required.
Here's what's happening:
CFMX6.1: An appended query string parameter is always part of the submitted url whether the ACTION is POST or GET.
CF 8: A query string parameter appended to a url in the ACTION attribute will be part of the submitted url when the METHOD is POST but not when the METHOD is GET.
To see the above mentioned difference, execute the example code below in both CFMX6.1 and CF8. While executing in CFMX6.1, you will notice when the NEXT button is pressed, the myTestParameter=123 parameter is present in the browsers address bar and the variable will be accessible in the resulting page. This will not be the case when running in CF8
<h3>Test CFFORM POST vs. GET (CFMX6.1 vs. CF 8)</h3>
<cfoutput>
<table>
<cfform method="get" action="/Bayerah/gettest.cfm?myTestParameter=123" >
<input type="hidden" name="mytestFormVariable" value="abc">
<tr>
<td>
The CFform tag which is displaying this text contains action="#CGI.Path_Info#?myTestParameter=123"
<br /><br />
<strong>CF 8</strong><br />
<p>
The query string parameter "myTestParameter=123" will be part of the url when the
METHOD is POST and the form is submitted but not when METHOD is GET
</p>
<br />
<strong>CFMX6.1</strong><br />
<p>
The query string parameter "myTestParameter" displays with both POST and GET
</p>
<br/><br />
Press Next to submit the form...
</td>
</tr>
<tr>
<td>
<input type="submit" value="Next">
</td>
</tr>
</cfform>
</table>
</cfoutput>
Thanks in advance.Last word. I also think that url variables in the ACTION attribute should be honored.
Yes, I was torn about that. Though there is really no need to use url parameters with method="get", it just seemed a little counterintutive. At least given how one normally works with urls. But after looking at the spec's, it seems like this is the intended behavior and that the parameters should be ignored.
http://www.w3.org/TR/html401/interact/forms.html#h-17.13.1
With the HTTP "get" method, the form data set is appended to the URI specified by the action attribute (with a question-mark ("?") as separator) and this new URI is sent to the processing agent.
Anyway, I am glad I could help. -
ACE Probe with special Caracters
I need to probe a URL that contains the caracter "?".
I am working with the ACE and would like to know how can I put the URL within the probe format.
ThanksHi,
It's one of the 2 solutions below, don't know which one :-)
you can use brackets [ ] or a slash in front of you question mark.
fe:
request method get url /search[?]number=10
If this doens't work, try to use the escape sequence like in IOS:
escape sequence is CRTL-V
so if you want to type it in a probe:
request method get url /search(type CTRL-V)?number=10
HTH,
Dario -
HTTP probe issue with expect regex string
Hello,
We have a simple cgi status page setup to poll a background service and return a "PASS" or "FAIL" as output. I've setup an HTTP probe to look for the "PASS" to determine application health. The issue appears to be that the expect regex is searching the HEADER but not the BODY of the web page. I can successfully match on any string in the header, but never on anything in the body.
Here is what the web page returns if you telnet to it:
HTTP/1.1 200 OK
Date: Thu, 22 Sep 2011 22:45:07 GMT
Server: Apache/2.0.59 HP-UX_Apache-based_Web_Server (Unix) DAV/2
Content-Length: 4
Connection: close
Content-Type: text/plain; charset=iso-8859-1
PASS
Here is my probe:
probe http JOE-TEST-CS
interval 45
passdetect interval 30
receive 30
request method get url /cgi-bin/ERMS-PREP-statusRepo.cgi
expect status 0 999
open 20
expect regex "PASS"
Here is the output of the show probe:
ACE1/euhr-test-ace2# sh probe JOE-TEST-CS detail
probe : JOE-TEST-CS
type : HTTP
state : ACTIVE
description :
port : 80 address : 0.0.0.0 addr type : -
interval : 45 pass intvl : 30 pass count : 3
fail count: 3 recv timeout: 30
http method : GET
http url : /cgi-bin/ERMS-PREP-statusRepo.cgi
conn termination : GRACEFUL
expect offset : 0 , open timeout : 20
expect regex : PASS
send data : -
--------------------- probe results --------------------
probe association probed-address probes failed passed health
------------------- ---------------+----------+----------+----------+-------
serverfarm : JOE-TEST-PROBE-CS
real : EUHRTDM50.APP[0]
192.168.73.71 2 2 0 FAILED
Socket state : CLOSED
No. Passed states : 0 No. Failed states : 1
No. Probes skipped : 0 Last status code : 200
No. Out of Sockets : 0 No. Internal error: 0
Last disconnect err : User defined Reg-Exp was not found in Host Response
Last probe time : Thu Sep 22 15:00:36 2011
Last fail time : Thu Sep 22 15:00:36 2011
Last active time : Thu Sep 22 09:40:19 2011
If I replace the expect regex "PASS" with anything from the HEADER it succeeds!
Any thoughts?Sorry, I missed it. The content-length in your request is 4. I think this may be the issue. I created a basic HTML page that says PASS in the body and my server is returning a content-length of 224 when I fetch the page. Here is my HTML request:
GET /index.html
http-equiv="Content-Type">
Probe
PASS
Here are my headers that I received:
(Status-Line) HTTP/1.1 200 OK
Content-Length 224
Content-Type text/html
Last-Modified Tue, 27 Sep 2011 12:05:00 GMT
Accept-Ranges bytes
Etag "8cca60aed7dcc1:41f"
Server Microsoft-IIS/6.0
Date Tue, 27 Sep 2011 12:25:59 GMT
What version of code are you running on your ACE? I can also look to see if there are any known issues.
Kris
Maybe you are looking for
-
Urgent - How to change Item category for Open Purchase Order
Hi Team, Lil bit tricky issue. My client has asked us to change the existing Item Category values, Combinations, Category Set etc. Its been changed and uploaded successfully. The question here is how we need to handle the category for Open Purchase O
-
Set values in ListBox with Javascript.
Hello. I have a ListBox that can have multiple values (you can set this in Designer 7.1 by the way). I want to select 1, 2, x, values in this ListBox by script in Javascript. I can read these values like this: var a = xfa.resolveNode ("ListBox1.value
-
Hi gurus, Need help here. I have a very weird problem. My DEV server cant perform Sgen, the server is running ECC 6.0 on Windows2003 32bit/Oracle 10g on a dual-core CPU with 4GB RAM. What happens is, halfway thru the SGEN generation job, the entire O
-
Patches of 4.7 and 6.0
hi kings I want to patches of 4.7 to 6.0. please let me know the upgarde patches of the same regards sri
-
Print quality of an officejet 6500 wireless all-in-one E709n
I purchased this printer as part of an Apple promotion with a MacBookPro. The color is extremely poor. Was told by an HP tech. that they were host cartridges only to be used for setting up the printer. Anyone else experience this? Also, when I