¡¡¡¡Ç°ÑÔ£ºÔÚÄ¿Ç°µÄInternetʱ´ú£¬Ö÷Ò³ÒѳÉΪÊ÷Á¢¹«Ë¾ÐÎÏóºÍչʾ×ÔÎÒÌìµØµÄÒ»¸öÖØÒªÊֶΣ¬ÅäÖÃһ̨ǿ´óÇÒ°²È«µÄWeb Server¾ÍÏÔµÃÓÈÆäÖØÒª¡£ÔÚÖÚ¶àµÄWeb Server²úÆ·ÖУ¬ApacheÊÇÓ¦ÓÃ×îΪ¹ã·ºµÄÒ»¸ö²úÆ·£¬Í¬Ê±Ò²ÊÇÒ»¸öÉè¼ÆÉϷdz£°²È«µÄ³ÌÐò¡£
¡¡¡¡µ«ÊÇ£¬Í¬ÆäËüÓ¦ÓóÌÐòÒ»Ñù£¬ApacheÒ²´æÔÚ°²È«È±ÏÝ¡£±¾ÎĽ«Ïêϸ½éÉÜÈçºÎÕýÈ·ÅäÖúÍά»¤Apache WEB ServerµÄ°²È«ÐÔÎÊÌâµÈ¡£
Ò»£¬Apache·þÎñÆ÷µÄ½éÉÜ
¡¡¡¡Apache·þÎñÆ÷ËüÊÇInternetÍøÉÏÓ¦ÓÃ×îΪ¹ã·ºµÄWeb·þÎñÆ÷Èí¼þÖ®Ò»¡£Apache·þÎñÆ÷Ô´×ÔÃÀ¹ú¹ú¼Ò³¬¼¶¼¼Êõ¼ÆËãÓ¦ÓÃÖÐÐÄ£¨NCSA£©µÄWeb·þÎñÆ÷ÏîÄ¿ÖС£Ä¿Ç°ÒÑÔÚ»¥ÁªÍøÖÐÕ¼¾ÝÁËÁìµ¼µØλ¡£Apache·þÎñÆ÷µÃ¾¹ý¾«ÐÄÅäÖÃÖ®ºó£¬²ÅÄÜʹËüÊÊÓ¦¸ß¸ººÉ£¬´óÍÌÍÂÁ¿µÄ»¥ÁªÍø¹¤×÷¡£¿ìËÙ¡¢¿É¿¿¡¢Í¨¹ý¼òµ¥µÄAPIÀ©Õ¹£¬Perl/Python½âÊÍÆ÷¿É±»±àÒëµ½·þÎñÆ÷ÖУ¬ÇÒÍêÈ«Ãâ·Ñ£¬ÍêÈ«Ô´´úÂ뿪·Å¡£Èç¹ûÄãÐèÒª´´½¨Ò»¸öÿÌìÓÐÊý°ÙÍòÈË·ÃÎʵÄWeb·þÎñÆ÷£¬Apache¿ÉÄÜÊÇ×î¼ÑÑ¡Ôñ¡£
¶þ£¬Apache·þÎñÆ÷µÄÖ÷Òª°²È«È±ÏÝ
¡¡¡¡ÕýÈçÎÒÃÇÇ°ÑÔËù˵¾¡¹ÜApache·þÎñÆ÷Ó¦ÓÃ×îΪ¹ã·º£¬Éè¼ÆÉϷdz£°²È«µÄ³ÌÐò¡£µ«ÊÇͬÆäËüÓ¦ÓóÌÐòÒ»Ñù£¬ApacheÒ²´æÔÚ°²È«È±ÏÝ¡£±Ï¾¹ËüÊÇÍêÈ«Ô´´úÂ룬Apache·þÎñÆ÷µÄ°²È«È±ÏÝÖ÷ÒªÊÇʹÓÃHTTPÐÒé½øÐеľܾø·þÎñ¹¥»÷(denial of service)¡¢»º³åÇøÒç³ö¹¥»÷ÒÔ¼°±»¹¥»÷Õß»ñµÃrootȨÏÞÈýȱÏݺÍ×îеĶñÒâµÄ¹¥»÷Õß½øÐС°¾Ü¾ø·þÎñ¡±(DoS)¹¥»÷¡£ºÏÀíµÄÍøÂçÅäÖÃÄܹ»±£»¤Apache·þÎñÆ÷ÃâÔâ¶àÖÖ¹¥»÷¡£ÎÒÃÇÀ´½éÉÜÒ»ÏÂÖ÷ÒªµÄ°²È«È±ÏÝ£º
¡¡¡¡£¨1£©Ê¹ÓÃHTTPÐÒé½øÐеľܾø·þÎñ¹¥»÷(denial of service)µÄ°²È«È±ÏÝ
¡¡¡¡ÕâÖÖ·½·¨¹¥»÷Õß»áͨ¹ýijЩÊÖ¶Îʹ·þÎñÆ÷¾Ü¾ø¶ÔHTTPÓ¦´ð¡£ÕâÑù»áʹApache¶Ôϵͳ×ÊÔ´(CPUʱ¼äºÍÄÚ´æ)ÐèÇóµÄ¾çÔö£¬×îÖÕÔì³ÉApacheϵͳ±äÂýÉõÖÁÍêȫ̱»¾¡£
¡¡¡¡£¨2£©»º³åÇøÒç³öµÄ°²È«È±ÏÝ
¡¡¡¡¸Ã·½·¨¹¥»÷ÕßÀûÓóÌÐò±àдµÄһЩȱÏÝ£¬Ê¹³ÌÐòÆ«ÀëÕý³£µÄÁ÷³Ì¡£³ÌÐòʹÓþ²Ì¬·ÖÅäµÄÄÚ´æ±£´æÇëÇóÊý¾Ý£¬¹¥»÷Õ߾ͿÉÒÔ·¢ËÍÒ»¸ö³¬³¤ÇëÇóʹ»º³åÇøÒç³ö¡£±ÈÈçһЩPerl±àдµÄ´¦ÀíÓû§ÇëÇóµÄÍø¹Ø½Å±¾¡£Ò»µ©»º³åÇøÒç³ö£¬¹¥»÷Õß¿ÉÒÔÖ´ÐÐÆä¶ñÒâÖ¸Áî»òÕßʹϵͳ崻ú¡£
¡¡¡¡£¨3£©±»¹¥»÷Õß»ñµÃrootȨÏ޵ݲȫȱÏÝ
¡¡¡¡¸Ã°²È«È±ÏÝÖ÷ÒªÊÇÒòΪApache·þÎñÆ÷Ò»°ãÒÔrootȨÏÞÔËÐÐ(¸¸½ø³Ì)£¬¹¥»÷Õß»áͨ¹ýËü»ñµÃrootȨÏÞ£¬½ø¶ø¿ØÖÆÕû¸öApacheϵͳ¡£
¡¡¡¡£¨4£©¶ñÒâµÄ¹¥»÷Õß½øÐС°¾Ü¾ø·þÎñ¡±(DoS)¹¥»÷µÄ°²È«È±ÏÝ
¡¡¡¡Õâ¸ö×îÐÂÔÚ6ÔÂ17ÈÕ·¢Ïֵĩ¶´£¬ËüÖ÷ÒªÊÇ´æÔÚÓÚApacheµÄchunk encodingÖУ¬ÕâÊÇÒ»¸öHTTPÐÒ鶨ÒåµÄÓÃÓÚ½ÓÊÜwebÓû§ËùÌá½»Êý¾ÝµÄ¹¦ÄÜ¡£ ÀûÓúڿͳÌÐò¿ÉÒÔ¶ÔÓÚÔËÐÐÔÚFreeBSD 4.5, OpenBSD 3.0 / 3.1, NetBSD 1.5.2ƽ̨ÉϵÄApache·þÎñÆ÷¾ù¿É½øÐÐÓÐЧµÄ¹¥»÷.
¡¡¡¡ËùÓÐ˵ʹÓÃ×î¸ßºÍ×îа²È«°æ±¾¶ÔÓÚ¼ÓÇ¿Apache Web·þÎñÆ÷µÄ°²È«ÊÇÖÁ¹ØÖØÒªµÄ¡£Çë¹ã´óApache·þÎñÆ÷¹ÜÀíԱȥhttp://www.apache.org/dist/httpd/ÏÂÔز¹¶¡³ÌÐòÒÔÈ·±£ÆäWEB·þÎñÆ÷°²È«£¡
Èý£¬ Õýȷά»¤ºÍÅäÖÃApache·þÎñÆ÷
¡¡¡¡ËäÈ»Apache·þÎñÆ÷µÄ¿ª·¢Õ߷dz£×¢ÖØ°²È«ÐÔ£¬ÓÉÓÚApache·þÎñÆ÷ÆäÅÓ´óµÄÏîÄ¿£¬ÄÑÃâ»á´æÔÚ°²È«Òþ»¼¡£Õýȷά»¤ºÍÅäÖÃApache WEB·þÎñÆ÷¾ÍºÜÖØÒªÁË¡£ÎÒÃÇӦעÒâµÄһЩÎÊÌ⣺
¡¡¡¡£¨1£©Apache·þÎñÆ÷ÅäÖÃÎļþ
¡¡¡¡Apache Web·þÎñÆ÷Ö÷ÒªÓÐÈý¸öÅäÖÃÎļþ£¬Î»ÓÚ/usr/local/apache/confĿ¼Ï¡£ÕâÈý¸öÎļþÊÇ£º
[code]httpd.con----->Ö÷ÅäÖÃÎļþ
srm.conf------>Ìî¼Ó×ÊÔ´Îļþ
access.conf--->ÉèÖÃÎļþµÄ·ÃÎÊȨÏÞ[/code]
¡¡¡¡×¢£º¾ßÌåÅäÖÿÉÒԲο¼£ºhttp://httpd.apache.org/docs/mod/core.html
¡¡¡¡£¨2£©Apache·þÎñÆ÷µÄÈÕÖ¾Îļþ
¡¡¡¡ÎÒÃÇ¿ÉÒÔʹÓÃÈÕÖ¾¸ñʽָÁîÀ´¿ØÖÆÈÕÖ¾ÎļþµÄÐÅÏ¢¡£Ê¹ÓÃLogformat "%a %l"Ö¸Á¿ÉÒÔ°Ñ·¢³öHTTPÇëÇóä¯ÀÀÆ÷µÄIPµØÖ·ºÍÖ÷»úÃû¼Ç¼µ½ÈÕÖ¾Îļþ¡£³öÓÚ°²È«µÄ¿¼ÂÇ£¬ÔÚÈÕÖ¾ÖÐÎÒÃÇÓ¦ÖªµÀÖÁÉÙÓ¦¸ÃÄÇЩÑé֤ʧ°ÜµÄWEBÓû§£¬ÔÚhttp.confÎļþÖмÓÈëLogformat "%401u"Ö¸Áî¿ÉÒÔʵÏÖÕâ¸öÄ¿µÄ¡£Õâ¸öÖ¸ÁÓÐÆäËüµÄÐí¶à²ÎÊý£¬Óû§¿ÉÒԲο¼ApacheµÄÎĵµ¡£ÁíÍ⣬ApacheµÄ´íÎóÈÕÖ¾Îļþ¶ÔÓÚϵͳ¹ÜÀíÔ±À´ËµÒ²ÊǷdz£ÖØÒªµÄ£¬´íÎóÈÕÖ¾ÎļþÖаüÀ¨·þÎñÆ÷µÄÆô¶¯¡¢Í£Ö¹ÒÔ¼°CGIÖ´ÐÐʧ°ÜµÈÐÅÏ¢¡£¸ü¶àÇë²Î¿´ApacheÈÕ־ϵÁÐ1-5¡£
¡¡¡¡£¨3£©Apache·þÎñÆ÷µÄĿ¼°²È«ÈÏÖ¤
¡¡¡¡ÔÚApache ServerÖÐÊÇÔÊÐíʹÓà .htaccess×öĿ¼°²È«±£»¤µÄ£¬Óû¶ÁÈ¡Õâ±£»¤µÄĿ¼ÐèÒªÏȼüÈëÕýÈ·Óû§ÕʺÅÓëÃÜÂë¡£ÕâÑù¿É×öΪרÃŹÜÀíÍøÒ³´æ·ÅµÄĿ¼»ò×öΪ»áÔ±ÇøµÈ¡£
¡¡¡¡ÔÚ±£»¤µÄĿ¼·ÅÖÃÒ»¸öµµ°¸£¬µµÃûΪ.htaccss
[code]AuthName "»áԱרÇø"
AuthType "Basic"
AuthUserFile "/var/tmp/xxx.pw" ----->°Ñpassword·ÅÔÚÍøÕ¾Íâ
require valid-user[/code]
¡¡¡¡µ½apache/binĿ¼£¬½¨passwordµµ
[code]% ./htpasswd -c /var/tmp/xxx.pw username1 ----->µÚÒ»´Î½¨µµÒªÓòÎÊý"-c"
% ./htpasswd /var/tmp/xxx.pw username2[/code]
¡¡¡¡ÕâÑù¾Í¿ÉÒÔ±£»¤Ä¿Â¼ÄÚµÄÄÚÈÝ£¬½øÈëÒªÓúϷ¨µÄÓû§£®
¡¡¡¡×¢£º²ÉÓÃÁËApacheÄÚ¸½µÄÄ£×é¡£Ò²¿ÉÒÔ²ÉÓÃÔÚhttpd.confÖмÓÈ룺
¡¡
[code]options¡¡indexes¡¡followsymlinks¡¡
allowoverride¡¡authconfig¡¡
order¡¡allow,deny¡¡
allow¡¡from¡¡all[/code]¡¡
¡¡
¡¡¡¡£¨4£©Apache·þÎñÆ÷·ÃÎÊ¿ØÖÆ
¡¡¡¡ÎÒÃǾÍÒª¿´Èý¸öÅäÖÃÎļþÖеĵÚÈý¸öÎļþÁË£¬¼´access.confÎļþ£¬Ëü°üº¬Ò»Ð©Ö¸Áî¿ØÖÆÔÊÐíʲôÓû§·ÃÎÊApacheĿ¼¡£Ó¦¸Ã°Ñdeny from allÉèΪ³õʼ»¯Ö¸ÁÔÙʹÓÃallow fromÖ¸Áî´ò¿ª·ÃÎÊȨÏÞ¡£
¡¡
[code]order deny,allow
deny from all
allow from safechina.net[/code]
¡¡¡¡
¡¡¡¡ÉèÖÃÔÊÐíÀ´×Ôij¸öÓò¡¢IPµØÖ·»òÕßIP¶ÎµÄ·ÃÎÊ¡£
¡¡¡¡£¨5£©Apache·þÎñÆ÷µÄÃÜÂë±£»¤ÎÊÌâ
¡¡¡¡ÎÒÃÇÔÙʹÓÃ.htaccessÎļþ°Ñij¸öĿ¼µÄ·ÃÎÊȨÏÞ¸³Óèij¸öÓû§¡£ÏµÍ³¹ÜÀíÔ±ÐèÒªÔÚhttpd.conf»òÕßsrm.confÎļþÖÐʹÓÃAccessFileNameÖ¸Áî´ò¿ªÄ¿Â¼µÄ·ÃÎÊ¿ØÖÆ¡£È磺
[code]AuthName PrivateFiles
AuthType Basic
AuthUserFile /path/to/httpd/users
require Phoenix
# htpasswd -c /path/to/httpd/users Phoenix[/code]
soylo ÓÚ 2006-08-31 12:40:16·¢±í:
ËÄ£¬ÉèÖÃApache·þÎñÆ÷µÄWEBºÍÎļþ·þÎñÆ÷
¡¡¡¡ÎÒÃÇÔÚApache·þÎñÆ÷ÉÏ´æ·ÅWEB·þÎñÆ÷µÄÎļþ£¬¹©Óû§·ÃÎÊ£¬²¢ÉèÖÃ/home/ftp/pubĿ¼ΪÎļþ´æ·ÅÇøÓò£¬ÓÃhttp://download.your.com/pub/À´·ÃÎÊ¡£ÔÚ·À»ðǽÉÏÉèÖÃapache·´Ïò´úÀí¼¼Êõ£¬ÓÉ·À»ðǽ´úÀí·ÃÎÊ¡£¡¡
¡¡¡¡£¨1£©Apache·þÎñÆ÷µÄÉèÖá¡
¡¡¡¡apache·þÎñÆ÷²ÉÓÃĬÈÏÅäÖá£Ö÷Ŀ¼Ϊ/home/httpd/html,Ö÷»úÓòÃûΪPhoenix.your.com,ÇÒ±ðÃûµ½www.your.comÖÐ,¡¡²¢ÇÒÉèÖÃsrm.conf¼ÓÒ»ÐбðÃû¶¨ÒåÈçÏ£º¡¡
[code]Alias¡¡/pub¡¡/home/ftp/pub/[/code]¡¡
¡¡¡¡¸ü¸ÄĬÈÏÓ¦ÓóÌÐòÀàÐͶ¨ÒåÈçÏ£º¡¡
[code]DefaultType¡¡application/octet-stream[/code]¡¡
¡¡¡¡×îºóÔÚ/etc/httpd/conf/access.confÖÐÔö¼ÓÒ»ÏÒå¡¡
¡¡¡¡
[code]Options¡¡Indexes¡¡
AllowOverride¡¡AuthConfig¡¡
order¡¡allow,deny¡¡
allow¡¡from¡¡all[/code]¡¡
¡¡
¡¡¡¡×¢£ºOptions¡¡IndexesÔÊÐíÔÚÕÒ²»µ½index.htmlÎļþµÄÇé¿öÏÂÔÊÐíÁгöĿ¼/ÎļþÁÐ±í¡£AllowOverride¡¡AuthConfigÔÊÐí×ö»ù±¾µÄÓû§ÃûºÍ¿ÚÁîÑéÖ¤¡£ÕâÑùµÄ»°£¬ÐèÒªÔÚ/home/ftp/pubĿ¼Ï·ÅÈë.htaccess£¬ÄÚÈÝÈçÏ£º¡¡
¡¡
[code][root@shopu¡¡pub]#¡¡more¡¡.htaccess¡¡
AuthName¡¡Branch¡¡Office¡¡Public¡¡Software¡¡Download¡¡Area¡¡
AuthType¡¡Basic¡¡
AuthUserFile¡¡/etc/.usrpasswd¡¡
require¡¡valid-user[/code]¡¡
¡¡¡¡
¡¡¡¡ÓÃ# htpasswd¡¡-c¡¡/etc/.usrpasswd¡¡user1¡¡ ·Ö±ð´´½¨²»Í¬µÄÔÊÐí·ÃÎÊ/pubÏÂÎļþ·þÎñµÄÍⲿÓû§ÃûºÍ¿ÚÁî¡£¡¡
¡¡¡¡£¨2£©ÔÚ·À»ðǽÉÏÅäÖ÷´Ïò´úÀí¼¼Êõ.¡¡
¡¡¡¡ÔÚ/etc/httpd/conf/httpd.conf¡¡ ÖмÓÈë NameVirtualHost¡¡xxx.xxx.xxx.xxx¡¡
¡¡¡¡#¡¡xxx.xxx.xxx.xxx ----->ÊÇ·À»ðǽÍⲿÔÚ»¥ÁªÍøÉÏÓÀ¾ÃIPµØÖ·
[code]¡¡¡¡servername¡¡www.your.com¡¡
¡¡¡¡errorlog¡¡/var/log/httpd/error_log¡¡
¡¡¡¡transferlog¡¡/var/log/httpd/access_log¡¡
¡¡¡¡rewriteengine¡¡on¡¡
¡¡¡¡proxyrequests¡¡off¡¡
¡¡¡¡usecanonicalname¡¡off¡¡
¡¡¡¡rewriterule¡¡^/(.*)$¡¡http://xxx.xxx.xx.x/$1¡¡Apache·þÎñÆ÷µÄIPµØÖ·¡£ ¡¡¡¡
¡¡¡¡servername¡¡http://download.your.com/pub/
¡¡¡¡errorlog¡¡/var/log/httpd/download/error_log¡¡
¡¡¡¡transferlog¡¡/var/log/httpd/download/access_log¡¡
¡¡¡¡rewriteengine¡¡on¡¡
¡¡¡¡proxyrequests¡¡off¡¡
¡¡¡¡usecanonicalname¡¡off¡¡
¡¡¡¡rewriterule¡¡^/(.*)$¡¡http://xxx.xxx.xx.x/$1¡¡Í¬ÉÏApache·þÎñÆ÷µÄIPµØÖ·¡£[/code]
¡¡¡¡ÉèÖ÷À»ðǽÉϵÄDNS£¬ÈÃdownload.your.comºÍwww.your.com¶¼Ö¸Ïò·À»ðǽµÄÍⲿÍøµØÖ·xxx.xxx.xxx.xxx¡£ÓÃhttp://www.your.com·ÃÎÊÖ÷Ò³£¬ÓÃhttp://download.your.com/pub/·ÃÎʹ«¹²ÎļþµÄÏÂÔØÇø¡£
¡¡¡¡×¢£º»¹ÐèÒªÔÚapache·þÎñÆ÷Ö÷»úÉϽ¨Á¢Ä¿Â¼/var/log/httpd/download/£¬·ñÔò»á³ö´í¡£ÁíÍ⣬Ҳ¿ÉÒÔÉèÖ÷À»ðǽÖ÷»úÉϵÄ/home/httpd/html/index.htmlµÄÊôÐÔΪ750À´×èÖ¹·ÃÎÊ£¬ÕâÊÇ·ÀÍⲿÓû§ÄÜ·ÃÎʵ½·À»ðǽÉϵÄApache·þÎñÆ÷µÄhttp://www.your.comÖС£¡¡
¡¡¡¡×ܽ᣺Apache ServerÊÇÒ»¸ö·Ç³£ÓÅÐ㣬·Ç³£°ôµÄ·þÎñÆ÷£¬Ö»ÒªÄãÕýÈ·ÅäÖúÍά»¤ºÃApache·þÎñÆ÷