NginxÔõÑùʵÏÖ»ùÓÚʱ¼äµÄ»á¼û¿ØÖÆÉèÖÃ
NginxÔõÑùʵÏÖ»ùÓÚʱ¼äµÄ»á¼û¿ØÖÆÉèÖÃ
NginxÊÇÒ»¸ö¸ßÐÔÄܵÄWebЧÀÍÆ÷ºÍ·´ÏòÊðÀíЧÀÍÆ÷£¬Ëü¿ÉÒÔ×ÊÖúÎÒÃǹ¹½¨Çå¾²¡¢¸ßÐÔÄܵÄWebÓ¦ÓóÌÐò¡£ÔÚÏÖʵӦÓÃÖУ¬ÎÒÃÇ¿ÉÄÜÐèÒª¶ÔijЩ×ÊÔ´¾ÙÐлùÓÚʱ¼äµÄ»á¼û¿ØÖÆ£¬ÒÔÏÞÖÆÓû§ÔÚÌØ׼ʱ¼ä¶ÎÄÚ»á¼ûijЩÌض¨µÄÒ³Ãæ»ò×ÊÔ´¡£±¾ÎĽ«ÏÈÈÝÔõÑùʹÓÃNginxʵÏÖ»ùÓÚʱ¼äµÄ»á¼û¿ØÖÆÉèÖ㬲¢ÌṩÏêϸµÄ´úÂëʾÀý¡£
NginxµÄʱ¼äÄ£¿é
NginxÌṩÁËÒ»¸ö½Ð×öngx_http_time_moduleµÄʱ¼äÄ£¿é£¬¸ÃÄ£¿é¿ÉÒÔ×ÊÖúÎÒÃÇƾ֤Ŀ½ñʱ¼äÀ´¶ÔÇëÇó¾ÙÐлá¼û¿ØÖÆ¡£Õâ¸öʱ¼äÄ£¿é°üÀ¨ÁËÐí¶àÓÐÓõÄÖ¸ÁÈç$time_iso8601¡¢$time_local¡¢$time_gmtµÈ£¬ËüÃÇ¿ÉÒÔÓÃÓÚ»ñÈ¡Ä¿½ñЧÀÍÆ÷ʱ¼ä£¬²¢¾ÙÐÐʱ¼äÏà¹ØµÄÅжϡ£
»ùÓÚʱ¼äµÄ»á¼û¿ØÖÆÉèÖÃ
½ÓÏÂÀ´£¬ÎÒÃǽ«ÏÈÈÝÔõÑùʹÓÃNginxµÄʱ¼äÄ£¿éÀ´ÊµÏÖ»ùÓÚʱ¼äµÄ»á¼û¿ØÖÆÉèÖá£ÎÒÃÇÒÔÒ»¸ö¼òÆÓµÄÀý×ÓÀ´ËµÃ÷£¬¼ÙÉèÎÒÃǵÄÍøÕ¾ÐèÒªÔÚÌìÌìµÄÊÂÇéʱ¼ä£¨9:00 – 18:00£©¶Ôij¸öÒ³Ãæ¾ÙÐлá¼û¿ØÖÆ¡£
Ê×ÏÈ£¬ÎÒÃÇÐèÒªÔÚNginxµÄÉèÖÃÎļþÖнç˵һ¸ö±äÁ¿£¬ÓÃÓÚ»ñÈ¡Ä¿½ñʱ¼ä£º
map $time_iso8601 $is_work_time { default 0; ~T^(d{4}-d{2}-d{2}T(0[9-9]|1[0-8]):[0-5][0-9]:[0-5][0-9]) 1; }
µÇ¼ºó¸´ÖÆ
ÔÚÉÏÃæµÄÉèÖÃÖУ¬ÎÒÃÇʹÓÃÁËmapÄ£¿éºÍÕýÔò±í´ïʽÀ´Æ¥ÅäÄ¿½ñʱ¼äÊÇ·ñÔÚÊÂÇéʱ¼ä¹æÄ£ÄÚ£¬²¢½«Æ¥ÅäЧ¹ûÉúÑÄÔÚ$is_work_time±äÁ¿ÖС£
½ÓÏÂÀ´£¬ÎÒÃǽ«$is_work_time±äÁ¿Ó¦Óõ½ÎÒÃÇÏëÒªÏÞÖÆ»á¼ûµÄÒ³Ãæ»ò×ÊÔ´µÄÉèÖÃÖУº
location /restricted_page { if ($is_work_time) { return 200 "Welcome to the restricted page"; } return 403 "Access not allowed"; }
µÇ¼ºó¸´ÖÆ
ÔÚÉÏÊöÉèÖÃÖУ¬ÎÒÃǶÔ/restricted_page·¾¶¾ÙÐÐÁË»á¼û¿ØÖÆ£¬ÈôÊÇÄ¿½ñʱ¼äÊÇÊÂÇéʱ¼ä£¬Óû§½«±»ÔÊÐí»á¼û£¬²»È»½«·µ»Ø403¹ýʧ¡£
ÑéÖ¤ÉèÖÃ
ΪÁËÑéÖ¤ÎÒÃǵÄÉèÖÃÊÇ·ñÉúЧ£¬ÎÒÃÇ¿ÉÒÔ¼òÆÓµØÏòNginx·¢ËÍÒ»¸öGETÇëÇ󣬲¢Éó²é·µ»ØµÄ״̬ÂëºÍÄÚÈÝ¡£ÔÚ·ÇÊÂÇéʱ¼ä¶Î·¢ËÍGETÇëÇóʱ£¬ÎÒÃÇÓ¦¸Ã»á¿´µ½403¹ýʧ£»¶øÔÚÊÂÇéʱ¼ä¶Î·¢ËÍGETÇëÇóʱ£¬ÎÒÃÇÓ¦¸ÃÄܹ»¿´µ½¡°Welcome to the restricted page¡±µÄÐÂÎÅ¡£
×ܽá
ͨ¹ýÉÏÃæµÄÀý×Ó£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÔõÑùʹÓÃNginxµÄʱ¼äÄ£¿é£¬ÍŽá±äÁ¿ºÍÌõ¼þÓï¾ä£¬ÊµÏÖ»ùÓÚʱ¼äµÄ»á¼û¿ØÖÆÉèÖá£ÔÚÏÖʵӦÓÃÖУ¬ÎÒÃÇ¿ÉÒÔƾ֤ÏêϸµÄÐèÇóºÍ³¡¾°£¬ÎÞаµØµ÷½âÉèÖã¬ÒÔʵÏÖÔ½·¢Ï¸Ä廯µÄ»á¼û¿ØÖÆ¡£
×ܵÄÀ´Ëµ£¬NginxÌṩÁËÇ¿Ê¢µÄ¹¦Ð§ºÍÎÞаµÄÉèÖÃÑ¡ÏÄܹ»×ÊÖúÎÒÃÇÖª×ãÖÖÖÖÖØ´óµÄ»á¼û¿ØÖÆÐèÇó¡£Ê¹ÓûùÓÚʱ¼äµÄ»á¼û¿ØÖÆÉèÖ㬿ÉÒÔ×ÊÖúÎÒÃÇʵÏÖÔ½·¢Çå¾²¡¢¿É¿ØµÄWebÓ¦ÓóÌÐò¡£Ï£Íû±¾ÎÄÄܹ»¶Ô¶ÁÕßÃÇÓÐËù×ÊÖú£¬Ò²Ï£Íû¸÷ÈËÄܹ»ÔÚÏÖʵӦÓÃÖÐÎÞаÔËÓÃNginxµÄÖÖÖÖ¹¦Ð§£¬¹¹½¨Ô½·¢Çå¾²¸ßЧµÄWebÓ¦ÓóÌÐò¡£
ÒÔÉϾÍÊÇNginxÔõÑùʵÏÖ»ùÓÚʱ¼äµÄ»á¼û¿ØÖÆÉèÖõÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡