> n t o p v e r s i o n '3.0.050' p r o b l e m r e p o r t > Date: Thu Apr 15 15:29:39 2004 > Problem Report Id: PR_GBHVWYB > ------------------------------------------------------------------ > OS(uname): sysname(Linux) release(2.4.25) version(#2 Wed Mar 17 11:47:29 EST 2004) machine(i686) > ----------
Ok, snipping all the crud out, follow along with my inline notes... -----Burton > I enabled http access to my ntop instance and my graphics are > displaying just > fine.. on https, still nothing.. Good thought! > Log extract > > Thu Apr 15 11:27:36 2004 URL_DEBUG: Page: 'index_inner.html' ... > Thu Apr 15 11:27:40 2004 URL_DEBUG: Page: 'allProtoDistribution.png' ... > Thu Apr 15 11:29:39 2004 URL_DEBUG: Page: 'ntopProblemReport.html' This shows you ARE seeing the requests... > ------------------------------------------------------------------ > ntop Web Server > > Item..................http://...................https:// > # Handled Requests.....24.....29 > # Successful requests (200).....24.....28 > # Bad (We don't want to talk with you) requests.....0.....0 > # Invalid requests - 403 FORBIDDEN.....0.....0 > # Invalid requests - 404 NOT FOUND.....0.....1 > # Handled SIGPIPE Errors.....0 And those counts show that the ntop web server thinks it is serving them up. > What can I do to troubleshoot this? Skull sweat. OK, the .png files are not being received by your browser under https, but are under http and ntop thinks they're being sent. So: 1. Try another browser or three. 1a. If this is IE, try disabling HTTP 1.1. So what else? If you look in http.c you see the usual pattern: } else if(strncasecmp(pageName, CONST_BAR_ALLPROTO_DIST, strlen(CONST_BAR_ALLPROTO_DIST)) == 0) { sendHTTPHeader(MIME_TYPE_CHART_FORMAT, 0, 1); drawGlobalProtoDistribution(); printTrailer=0; and then graph.c you will see that each graph has a specific pattern, where it collects some data, calls a graphing routine to create the graphic on the ntop host and then calls sendGraphFile() to send it to you: drawBar(600, 250, /* width/height */ fd, /* open file pointer */ idx, /* number of slices */ lbl, /* slice labels */ p); /* data array */ fclose(fd); if(!useFdOpen) sendGraphFile(fileName, 0); } sendGraphFile() is nothing special it's just a read/write loop that calls the standard routine sendString() (or in this case, sendStringLen(), but no matter). Now something I read recently mumbled that browsers still don't have good png handling. So let's eliminate some other variables. First: 2. Disable gzip (compression) of files. In config.h, look for MAKE_WITH_ZLIB and /* it out */ 3. More drastic -- try jpg not png. (Try this first with ZLIB enabled, then - if it still doesn't work - with ZLIB disabled) In globals-report.h, change CHART_FORMAT then in graph.c, change all the occurances (there are three) of gdImagePng(gdImagePtr im, FILE *out); to calls to void gdImageJpeg(gdImagePtr im, FILE *out, int quality); For quality, you'll just have to give a numeric value. -1 ought to work for this test, based on the comments: If quality is negative, the default IJG JPEG quality value (which should yield a good general quality / size tradeoff for most situations) is used. Otherwise, for practical purposes, quality should be a value in the range 0-95, higher quality values usually implying both higher quality and larger image sizes. Then recompile and make install and run. Your graphs should now be jpg not png - while png is a better choice for charts, at least this ought to eliminate everything other than the browser's handling of png files. Try those thoughts and let us know what the results are... -----Burton _______________________________________________ Ntop-dev mailing list [EMAIL PROTECTED] http://listgateway.unipi.it/mailman/listinfo/ntop-dev
