Thank you Henrik, this is the root cause! We did not install openssl dev package, the "bbtest-net --version" only returns hobbit version. After we installed and recompile, problem is gone!
Thanks again.
Samuel Cai
-----Original Message----- From: Henrik "Størner [mailto:henrik at hswn.dk] Sent: Thursday, November 13, 2008 2:56 PM To: hobbit at hswn.dk Subject: Re: [hobbit] HTTP error 0
In <980B46CCEFAE3F4A836BBF54E4DBCB160E46FED7 at SJEXVS01.ehi.ehealth.com> "Samuel Cai" <Samuel.Cai at ehealth-china.com> writes:
In <980B46CCEFAE3F4A836BBF54E4DBCB160E3FFB8C at SJEXVS01.ehi.ehealth.com> = "Aaron Li" <Aaron.Li at ehealth-china.com> writes:
When hobbit monitors the https site, it always gets the error " HTTP error 0" like below, I appreciate a lot if anyone can give the = solution,
I'm with Aaron in same company, the weird thing is, if we use wget, then = can still receive data, so not sure what's wrong.
Can you try running '~hobbit/server/bin/bbtest-net --version' just to check the version number of your OpenSSL library ?
And can you get data using just the openssl client utility ? Like this:
openssl s_client -connect 10.20.30.40:443
(replace the IP with that of your server). If that succeeds and shows you the server certificate then enter
GET / HTTP/1.0
and hit <enter> twice - this mimicks a simple HTTP request. Does that work ? And how long does it take to complete ?
Finally, you could try modifying the code in hobbit-4.2.0/bbnet/contest.c In there is a routine called "socket_read"; delete the version in your file and replace it with the version below. Recompile with "make bbnet-build" and copy the new bbnet/bbtest-net program to ~hobbit/server/bin/ . Then run it with the "--debug" option enabled, like
bbcmd bbtest-net --noping --debug HOSTNAME
to run the test of just this one host. Hopefully that will print out some more info about what happens with that read that returns -1.
Regards, Henrik
static int socket_read(tcptest_t *item, char *inbuf, int inbufsize) { int res = 0; char errtxt[1024];
if (item->svcinfo->flags & TCP_SSL) {
if (item->sslrunning) {
item->sslagain = 0;
res = SSL_read(item->ssldata, inbuf, inbufsize);
if (res < 0) {
switch (SSL_get_error (item->ssldata, res)) {
case SSL_ERROR_WANT_READ:
case SSL_ERROR_WANT_WRITE:
item->sslagain = 1;
break;
default:
ERR_error_string(ERR_get_error(), errtxt);
dbgprintf("SSL read error %s\n", errtxt);
break;
}
}
}
else {
/* SSL setup failed - flag 0 bytes read. */
res = 0;
}
}
else {
res = read(item->fd, inbuf, inbufsize);
if (res < 0) {
dbgprintf("Read error %s\n", strerror(errno));
}
}
if (res > 0) item->bytesread += res;
return res;
}
To unsubscribe from the hobbit list, send an e-mail to hobbit-unsubscribe at hswn.dk