home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 April / PCWorld_2001-04_cd.bin / Software / TemaCD / smartcache / samples / scache.cnf < prev   
Text File  |  2001-01-26  |  20KB  |  530 lines

  1. # Main Smart Cache Config File 
  2. # SEE ALSO
  3. #       gc.cnf - Smart Cache garbage collector config file
  4. #     fail.cnf - Blocked URL list
  5. #     pass.cnf - Allowed URL list
  6. #  cookies.cnf - Cookies filter set-up
  7. #
  8. # (C) Radim Kolar 1998-2000  (hsn@cybermail.net)
  9. #  http://home.worldonline.cz/~cz210552/
  10. #
  11. #  Smart Cache is Open Source Software.
  12. #           http://www.opensource.org/
  13. #
  14.  
  15. # lines starting with # are comments (how strange..)
  16. #
  17. # As you can see, this product is _VERY_ configurable. So enjoy with it.  Rule
  18. # of thumb: If you don't understand what you are doing, don't change it.
  19. #
  20. # Also make a look at gc.cnf, which configures garbage collector.
  21. #
  22. # YOU MUST RUN garbage collector BY HAND, Smart Cache didn't invoke it
  23. # when cache size is reached, because this can be very lengthy
  24. # (one hour on my 386/40) process on large (200MB+) caches. So it's
  25. # recommended to run GC in nights via scheduler (for example cron).
  26.  
  27.  
  28. #URL link for use in generated error messages. Used for
  29. # ever moving location of Smart Cache homepage, but feel free to set
  30. # it to your favourite page (for example to Hobbes Archive).
  31. visible_link http://home.worldonline.cz/~cz210552/
  32.  
  33. #hostname for use in error reports
  34. #This names has nothing to do with your IP address, real hostname or
  35. #something. This is just some text, which can be displayed in error
  36. #messages. 
  37. visible_hostname smart.cache
  38.  
  39. #TCP port for this cache. 
  40. # 8080 is old known proxy port, introduced by CERN httpd.
  41. # Some servers uses port 80, but because port 80 is used by standard
  42. # WWW service, you can not run web server and Smart Cache on the
  43. # same port. I use 8080 because it easy to remember.
  44. # Squid uses port 3128, so you can run both caches (Squid and SC).
  45. # You can not run more than ONE program on the same port! 
  46. port 8080
  47.  
  48. #IP address for binding socket, if entered * all local addresses are binded
  49. #
  50. #Note: Others computers can not connect to it when 127.0.0.1 is used, this
  51. # is very good for enhanced security. If you have intranet and want allow other
  52. # computers in intranet (but not from Internet) to use this proxy, enter your
  53. # intranet address here. Using * allows all computers (even from Internet) to
  54. # use this proxy, so setting some Fail directives to block your private data
  55. # may be wise. There are no known security holes.
  56. BindAddress 127.0.0.1
  57.  
  58. # *** storage setup ***
  59. #directory for storing cached objects. Use the shortest path possible
  60. #and don't end directory name with \ or /
  61. #DO NOT USE ROOT directory!!! (for example c:\)
  62. CacheRoot C:\scache
  63.  
  64. #default filename for directory index. Unix people doesn't like
  65. # ".welcome" standard because ls don't displays them. Some people
  66. # likes index.html or something. Smart Cache avoids local filename
  67. # clashes, so fee free to set it to any useful name.
  68. DefaultName dirindex.html
  69.  
  70. #URL directory CRC32 hashing, used for performance improvement
  71. #if you don't like dirs - don't set dirs to ZERO! use 1 instead.
  72. #
  73. # 4x4 is good for 100-150MB cache, for bigger cache size, set bigger
  74. # values.
  75. swap_level1_dirs 4
  76. swap_level2_dirs 4
  77. #NOTE: if you change swap_level_dirs values, you MUST reorder cache directory
  78. #by running Smart Cache with -rebalance command line option!
  79.  
  80. #parent proxy (if any). PORT NUMBER IS REQUIRED!
  81. #A parent proxy login and password may be specified in the "http_proxy"
  82. #configuration statement after the parent proxy port in a form login:password.
  83. #     Example:
  84. #             http_proxy my.cache.net 3128 mylogin:mypass
  85. #using IP address instead of DNS name is strongly recommended (workaround
  86. # for JVM DNS caching "feature", see main documentation for more info )
  87. #
  88. #parent proxy is ALSO required if you need support
  89. #for other protocols than HTTP (FTP, Gopher, ...). Parent proxy
  90. #must know how to support these protocols.
  91. #NOTE: Gatewaying of HTTPS/SSL via http_proxy is NOT supported.
  92. #
  93. #http_proxy 1.2.3.4 3128
  94.  
  95. #don't use parent proxy for this servers/domains. Wildcards ARE NOT ALLOWED!
  96. # string netmag.cz will act like *netmag.cz
  97. #no_proxy localhost
  98.  
  99. #file descriptor limit by your OS will still apply, so don't expect that if
  100. #you set it to 2000, that 2000 users will be able to connect to this proxy.
  101. #Smart Cache use 3 file descriptors per one client, Squid uses 2-3 descriptors
  102. #per one client (2 when sending data from memory-cache).
  103. max_clients 30
  104.  
  105. # The AllowCONNECT directive specifies a list of port numbers to which
  106. # the proxy CONNECT method may connect. Today's browsers use this method
  107. # when a https connection is requested and proxy tunneling over http is
  108. # in effect.
  109. # By default, only the default https port (443) and the default snews
  110. # port (563) are enabled. Use the AllowCONNECT directive to override
  111. # this default and allow connections to the listed ports only.
  112.  
  113. # If you want to disable CONNECT, comment next line.
  114.           
  115. allowconnect 443 563
  116.  
  117. # Proxy access control
  118. #
  119. #   Proxy access may be limited by using "allow" configuration statement
  120. #   with the host ip address as a parameter to grant access only to
  121. #   specified hosts. Hosts that are not allowed to access proxy server
  122. #   will receive "403 Cache access denied" response. If no "allow"
  123. #   statements are found then any host is allowed to access the proxy.
  124. #
  125. #   Example:
  126. #     allow proxy access only from computer it is running at and from addresses
  127. #     192.168.1.2 and 192.168.1.3
  128. #
  129. #    allow 127.0.0.1
  130. #    allow 192.168.1.2
  131. #    allow 192.168.1.3
  132.            
  133. #if you want to use this proxy as forwarder, enter it your primary
  134. #forwarding hostname (NOT URL!), which will be used if browser
  135. #do not supply Host: HTTP header.
  136. #If you are running transparent proxy, set it to host, where is
  137. #message ,,Your browser do not send Host: header, so you can not use
  138. #our network, because we has here transparent proxy set. Upgrade your
  139. #browser at least to Netscape 2.0''
  140. default_forward_for localhost
  141.  
  142. # ####################
  143. #  Control Flag Files
  144. # ####################
  145. #
  146. #flag file for clean cache shutdown
  147. #if this file exists cache will be stopped, without interrupting any
  148. #active transfers. Flag is checked every 3 minutes.
  149. #NOTE: If you are browsing off-line, simply press CTRL-C :) or
  150. #kill the task.
  151.  
  152. Shutdown_flag C:\stop
  153.  
  154. #flag file for immediate cache shutdown
  155. #if this file exists cache will be always stopped even if there are some
  156. #active transfers. Smart Cache will try to sync .cacheinfo before
  157. #exiting, so this is cleaner way to shutdown than killing the task.
  158.  
  159. Immediate_shutdown_flag C:\stop.now
  160.  
  161. #How often Smart Cache checks for `immediate_shutdown_flag` ?
  162. # time is in seconds
  163. flag_check_interval 20
  164.  
  165. # Should be flag files cleared when Smart Cache starts?
  166. clear_flags_on_start 1
  167.  
  168. # ###################
  169. #      Log files
  170. # ###################
  171. #
  172. # Log Hit/miss/block statistics
  173. # stat_log <filename>
  174.  
  175. #logging setup for common type of logs. You can have more than
  176. #one logfile of the same type.
  177. #Logs are masked (good for forwarder running multiple servers).
  178. #
  179. #access_log <URL mask> <file-name>
  180. #Example:
  181. #accesses to netmag.cz are loged to separate file, all other to cache.log
  182. #access_log http://netmag.cz/* netmag.access.log
  183. #access_log * cache.log
  184.  
  185. #Same thing goes here for other types of logs
  186. #referer_log * referer.log
  187. #agent_log * agent.log
  188.  
  189. # ################
  190. #  T i m e O u t s
  191. # ################
  192. #
  193. #timeouts in sec, 
  194. # input = reading request from client browser
  195. # proxyreadtimeout = reading response from remote server. This should
  196. #   be less than 6 minutes (2*SAVETIMER value in mgr.java)
  197. Inputtimeout 20
  198. proxyreadtimeout 210
  199.  
  200. #     Smart Cache allows control over the files to be cached in two ways:
  201. #
  202. #     First, you can specify a set of URLs which must never be cached,
  203. #     in which case all other URLs are candidates for caching. This uses
  204. #     the NoCaching directive to specify what URLs must never be cached.
  205. #
  206. #     In the second scheme, you can explicitly list all the URLs which
  207. #     will be considered for caching; URLs not in that list will never
  208. #     be cached. This uses the CacheOnly directive
  209. #
  210. #     Defaults: neither NoCaching nor CacheOnly are given
  211. #
  212. #      **** WARNING: YOU CAN NOT USE BOTH !!! ****
  213. #
  214. #     Syntax:   CacheOnly <URL pattern>
  215. #               NoCaching   <URL pattern>
  216. #
  217. #     Examples:
  218. #
  219. # CacheOnly http://www.ibm.com/*
  220. # NoCaching   http://never.cache.me.net/*
  221.  
  222. #NoCaching   http://localhost/*
  223. #CacheOnly http://cache.me.net/*
  224.  
  225. ###################
  226. ##  refresh rate ##
  227. ###################
  228. # default_refresh_pattern Reload_age Min_age Lastmod_factor max_age Expire_age Redirect_Age
  229. #
  230. #      All times (except Lastmod_factor) are float numbers in minutes
  231. #
  232. #reload_age:  if user wants reload but, object is younger than reload_age, old
  233. #copy is returned and reload request is ignored.
  234. #
  235. #min_age: all cacheable objects are considered fresh for XX minutes.
  236. #  but reload (if allowed) can be used for their refresh
  237. #expire_age: If object has expire time and this time > Expire_age, expire
  238. # is honored, otherwise it is ignored.
  239. #redirect_Age:
  240. # temporary redirect is valid only for XX minutes.
  241. #
  242. #
  243. # lastmod_factor:
  244. #
  245. #    AGE is how much the object has aged *since* it was retrieved:
  246. #                
  247. #    AGE = NOW - OBJECT_DATE
  248. #
  249. #    LM_AGE is how old the object was *when* it was retrieved:
  250. #
  251. #    LM_AGE = OBJECT_DATE - LAST_MODIFIED_TIME
  252. #
  253. #    LM_FACTOR is the ratio of AGE to LM_AGE:
  254. #
  255. #    LM_FACTOR = AGE / LM_AGE
  256. #
  257. # Max_age: if object is older than XX minutes, cache will reload it.
  258. # setting first number to non-zero value, makes auto-reload pages
  259. #   out of work, so set refresh_pattern for them.
  260. # all numbers can be floating point
  261. default_refresh_pattern 0.1 60 0.20 10080 10 0.5
  262.  
  263. #Specific refresh patters for some URLs
  264. #refresh_pattern http://technet.cz/* 0 60 0.30 10080
  265.  
  266. # ###############################################
  267. # Smart Cache special features. Have fun with it.
  268. # ###############################################
  269. #
  270. # @1
  271. #pragma:no cache handling, what to do with non-cacheable documents?
  272. #expires < now is the same as pragma: no-cache
  273. # 0 - standard setting, be nice - don't cache any uncacheable objects
  274. # 1 - cache all uncacheable documents
  275. # 2 - cache only uncacheable images (probably only adv and counters)
  276. # 3 - don't cache uncacheable text objects, but all others do
  277. # 4 - don't cache uncacheable redirects, but all others do
  278. #
  279. #Hint: if this cache use multiple users, using mode 1 may cause some troubles,
  280. #    but 2 or 3 are safe. (3 is better than 2)
  281. #If you have troubles with redirects try 4
  282.  
  283. pragma_no_cache 1
  284.  
  285. # @2
  286. #Keep deleted objects in cache (and send it to users) even if the
  287. #original page has been deleted (rc=404). Very useful.
  288. # 0=no, 1=yes
  289. keep_deleted 1
  290.  
  291. # @3
  292. #Generate Last-Modified header if object is cacheable and this header
  293. #doesn't exist. It helps HTTP-Clients make IMS Requests against your cache.
  294. #This is also good idea when running as forwarder.
  295. # 0 -don't generate
  296. # 1 - generate when sending objects from cache
  297. # 2 - generate always (not recommended due to bugs in browsers)
  298. #      Netscape is known to be buggy. Latest version tested is 4.5, which is
  299. #       still broken.
  300. generate_lastmod 1
  301.  
  302. # @4
  303. #Hide remote servers errors. If remote server returns some kind of error,
  304. #when we try to refresh page, return old page from cache.
  305. #This may helps to clean server busy messages and load_failed messages
  306. #from parent proxy. Return codes considered as errors are RC=400, 403 and 500+
  307. hide_errors 1
  308.  
  309. # @5
  310. #Customized error messages. If used we will send redirect to specified URL.
  311. #only rc=403 (Forbidden) and rc=500 (Load failed) are now supported.
  312. #
  313. # The best is to use '0' for displaying 1x1 empty GIF with transparent
  314. # background. 
  315. #RECOMMENDED: Or send 1x1 Blank gif image, faster than using redirect.
  316. #ErrorDocument 403 0
  317. #
  318. # There is also alternative to send 206 Return code (No content)
  319. # instead if '-' is used (see examples), but not in Netscape (if got image
  320. # without size specified in HTML, it does not render anything on page. 
  321. #ErrorDocument 403 -
  322. #
  323. #Other possibility is send empty HTML document instead.
  324. #ErrorDocument 403 !
  325. #
  326. #Or what about to Redirect to some interesting GIF ?
  327. #ErrorDocument 403 http://some.site.with.nice.images.com/images/nature/bluesky.gif
  328.  
  329. # @6
  330. #Remove Pragma: no-cache from clients requests. When sending
  331. #user's request to HTTP server (or HTTP proxy), remove this request line.
  332. #Some servers has workaround for some browsers bug and when receive
  333. #If-Modified-Since request with Pragma:no-cache, sends whole object
  334. #instead of 304 reply. Modern browsers don't have this bug, but servers
  335. #unfortunately doesn't recognize buggy and non-buggy browsers.
  336. #
  337. # Description of bug from Apache 0.8.5 documentation
  338. # *) Work around bogus behavior when reloading from Netscape.
  339. #    It's Netscape's bug --- for some reason they expect a request with
  340. #    If-modified-since: to not function as a conditional GET if it also
  341. #    comes with Pragma: no-cache, which is way out of line with the HTTP
  342. #    spec (according to Roy Fielding, the redactor).
  343. #
  344. #If you are using parent proxy, you will not be able to force it
  345. #to refresh page. 
  346. #
  347. #Hint: If you are NOT using parent proxy and don't have
  348. #historic browser (Netscape 2+ is OK), USE it.
  349. remove_pragma_no_cache 0
  350.  
  351. # @7
  352. # What to do with Referer header ?
  353. #  Referer header contains last visited URL. This allows webmasters
  354. #   to track your browsing path. If you want to protect your privacy
  355. #   set this to 3, which is the safest choice. When used, Smart Cache
  356. #   will send totally useless information for webmaster, but enough
  357. #   to fool any referer checks scripts.
  358. #
  359. #  0 - nothing, do not touch this!
  360. #  1 - remove it. Some applications (like counters) may stop working.
  361. #  2 - make is the same as requested URL
  362. #  3 - same as 2, but change it even after remaping by Redirect. Safest choice
  363. #      to protect your privacy.
  364. #
  365. # Warning: Some applications with heavy depending on referer header, may stop working.
  366. referer_hack 0
  367.  
  368. # @8
  369. # What about to send fake Referer header ?
  370. #  You can send anything. If used, option referer_hack will be ignored.
  371. #
  372. #fake_referer http://i.fall.down.from.spiritual.world/
  373.  
  374. # @9
  375. # What about to send fake user-agent (Browser id)? 
  376. # It you want to hide what browser and version are you using, this is for you.
  377. # Or you can make WWW logs somewhat more interesting...
  378. # fake_user_agent <String>
  379. #
  380.  
  381. #Tell server that we are using Netscape/3 under Linux
  382. #fake_user_agent Mozilla/3.0 (X11; U; Linux 1.2.13 i386)
  383. #or tell him anything other
  384. #fake_user_agent Lord Vishnu/Transcendental (Vaikuntha;Supreme Personality of Godness)
  385.  
  386. #Should be "via Smart Cache 0.XX" appended to your browser identification?
  387. #This confuses PHP-generated pages, PHP will generate slightly more
  388. #HTML conservative pages.
  389. #If yes webmasters will see that you are using Smart Cache.
  390. #If you are using fake_user_agent this option will simply do nothing.
  391.  
  392. append_via 1
  393.  
  394. # @10
  395. # What about to make 'referer.log' more useful and compact?
  396. # full_referer_log <0/1>
  397. # 1 - all referers are logged
  398. # 0 - referers must be from different servers to be logged. 
  399. #      Very good for recording your path in cyberspace. 
  400. #
  401.  
  402. full_referer_log 0
  403.  
  404. # @11
  405. # Smart Cache can cache password-protected documents. Of course, this opens
  406. # a security hole, because once password-protected document gets cached,
  407. # it can be received from proxy without knowing password.
  408.  
  409. # 0 - no, 1 - yes
  410. cache_password_protected 0
  411.  
  412. # @12
  413. # Are URL tests case sensitive? (see gc.cnf for example)
  414. # case sensitive matching is much faster. Use it if you have a lot of
  415. # URLs (about 200)
  416. # 1 - yes, 0 - no. 
  417. #
  418. case_sensitive_matching 0
  419.  
  420. # @13 
  421. # OUTGOING C00kies filter
  422. # Cookies block list is loaded from external file and reloaded when
  423. # changed.
  424. #
  425. allow_cookies_to_file cookies.cnf
  426.  
  427. # @14
  428. # You can also send fake cookies. When sending cookies out is not permitted
  429. # cookie will be replaced by fake_cookie instead of deleting.
  430. #
  431. #  format is name=value [ ; name=value ; ....]
  432. #  value can not contains spaces -> use underscores '_' instead.
  433. #  Smart Cache don't tests wafer for validity, just sends it out.
  434. #    RFC says that cookies must be shorter than 4k, but Smart Cache sends out
  435. #    String of any size, which is good for buffer overflow attacking on remote
  436. #    sites.
  437. #
  438. #fake_cookie NOTICE=HEY_GUYS!_DON'T_SEND_ME_YOUR_JUNK!
  439.  
  440. # @15
  441. # URL Filter
  442. #
  443. # Smart Cache allows to set-up URL filter. This filter is controlled by
  444. # two keywords.
  445. # First is Pass <URL pattern>. This marks URLs, which are always allowed
  446. #  even if Fail disables them.
  447. # Second is Fail <URL pattern> which marks not allowed URLs.
  448. #
  449. # Smart Cache has support only for '*' wildcard. You can use it in pattern
  450. # more times.
  451. #
  452. # You can also use external files for blocking URLs. These files can
  453. # be automagicaly reloaded when changed which eliminates need of restarting
  454. # Smart Cache as in case of hardcoded Fail or Pass directives in scache.cnf
  455. #
  456. # NOTE: If you are using these files, don't put any Fail/Pass directives into
  457. #       main Smart Cache config. If you do, it will be deleted (ignored)
  458. #       when Smart Cache reloads changed block files.
  459. Fail_file fail.cnf
  460. Pass_file pass.cnf
  461.  
  462. # Announce blocked URLs to console
  463. #
  464. # This is useful if you are using a complex "fail.cnf" with
  465. # a lot of entries and can't fiddle out if or why some request has
  466. # been blocked.
  467. fail_trace 0
  468.  
  469. # @16 
  470. # Redirecting specified URLs to another
  471. #   some redirect use examples. Smart Cache do not sends redirect to browser,
  472. #   it remaps request internally and continue with it. This allows to use SC
  473. #   as web forwarder (accelerator).
  474. # When '*' is used in redirect it must be the last character in pattern!
  475. # 1>
  476. #this redirect http://www.netmag.home.cz/sample.html to
  477. #              http://netmag.cz/sample.html
  478. #Redirect  http://www.netmag.home.cz/*        http://netmag.cz/*
  479.  
  480. # 2>
  481. #this redirect http://ncic.netmag.home.cz/sample.html to
  482. #              http://ncic.netmag.cz/
  483. #Redirect http://ncic.netmag.home.cz/*   http://ncic.netmag.cz/
  484.  
  485. #defining alias for webcrawler
  486. #Redirect http://www.webcrawler.com/*    http://webcrawler.com/*
  487.  
  488. # @17  Quick Abort Feature    
  489. #    what to do with aborted requests?
  490. #
  491. #    values min_kbytes, percent, max-kbytes
  492. #    When request is aborted by client, SmartCache may continue download
  493. #    the requested file into cache. Downloading is continued if
  494. #      * file size is known in the time, when request starts
  495. #        and
  496. #      * need to download < min_kbytes 
  497. #        or
  498. #      * > percent file is transfered and need to download < max_kbytes
  499. #
  500. #      if min_kbytes set to -1 for quick abort is disabled
  501. #                                  (always continue with downloads).
  502. #
  503.  
  504. #enable quick abort
  505. #quick_abort 20 0.5 100
  506.  
  507. #default is continue to download Aborted objects (disabled)
  508. quick_abort -1 0.5 100
  509.  
  510. # if quick_abort is *disabled*, all transfers will be continued.
  511. # Because you may download by mistake a very large unwanted file, I
  512. # implemented timeout for this type of downloads. 
  513. # Timeout time is in minutes. If quick abort is not disabled, this value
  514. # has no meaning.
  515.  
  516. #default is abort download of Aborted objects after 3 minutes.
  517. max_aborted_transfer_time 3
  518.  
  519. # @18
  520. #  Data compression support    
  521. #
  522. #    Smart Cache can store text data in gzip format. This saves diskspace.
  523. #    Data stored in Cache are sent to your browser in gzipped form, so your
  524. #    browser must know how to handle them or use auto_decompress.
  525. auto_compress 0
  526. #If your browser can not handle compressed data, Smart Cache can uncompress it.
  527. auto_decompress 0
  528.