½â¾önginxÉèÖÃÒ³ÃæË¢Ð弗Ἦð404ºÍ403µÄ»ù´¡Ôµ¹ÊÔÓɽâ¶Á
ÔÚ¹¹½¨ÏÖ´ú»¯ÍøÕ¾Ê±£¬nginx×÷Ϊ¸ßÐÔÄܵķ´ÏòÊðÀíЧÀÍÆ÷£¬ÌṩÁ˼«¼ÑµÄÎȹÌÐÔÓëÀ©Õ¹ÐÔ¡£Ðí¶à¿ª·¢ÕߺÍÔËάְԱÔÚ°²ÅÅÀú³ÌÖлáÓöµ½ÕâÑùÒ»ÖÖ³£¼ûµÄ°ÃÄÕ£ºµ±Óû§Ë¢ÐÂÒ³Ãæ»òÖ±½ÓÊäÈëÌØ¶¨URLʱ£¬Ò³Ãæ»á·ºÆð¡°404NotFound¡±»ò¡°403Forbidden¡±µÄ¹ýʧ¡£
Õâ²»µ«Ó°ÏìÓû§ÌåÑ飬¸ü¿ÉÄÜÍþвµ½ÍøÕ¾µÄÕý³£ÔËÓª¡£ÎªÊ²Ã´»á·ºÆðÕâЩÎÊÌ⣿Æä±³ºóµÄ»ù´¡Ôµ¹ÊÔÓÉÊÂʵÔÚÄÇÀ½ñÌ죬ÎÒÃǾÍÖðÒ»ÆÊÎö¡£
Ò»¡¢404NotFound¡ª¡ªÂ·¾¶ÆÊÎöµÄÎóÇøÓ뾲̬×ÊÔ´ÉèÖÃÎÊÌâ¡°404NotFound¡±Òâζ×ÅÇëÇóµÄÒ³Ãæ»ò×ÊÔ´²»±£´æ¡£ÕâÔÚnginxÉèÖÃÖУ¬ÍùÍùÊÇÓÉÓÚ·¾¶Ó³É䲻׼ȷ»òÕß¾²Ì¬×ÊԴδ׼ȷָÏò¡£ÓÈÆäÔÚ´¦Öóͷ£¡°µ¥Ò³ÃæÓ¦Óã¨SPA£©¡±»òα¾²Ì¬ÍøÕ¾Ê±£¬ÈôÊÇûÓÐ׼ȷÉèÖÃÖØÐ´¹æÔò£¬Ë¢ÐÂÇëÇóµÄURL¿ÉÄÜÖ±½Ó±»¿´³É¾²Ì¬ÎļþÈ¥²éÕÒ£¬Ð§¹ûËäÈ»»áÕÒ²»µ½¡£
·´ÏòÊðÀíδ׼ȷÉèÖá°try_files¡±»ò¡°rewrite¡±¹æÔò£»×ÊԴ·¾¶ÓëÎļþÏÖʵ´æ·Å·¾¶·×ÆçÖ£»Ç°¶Ë·ÓÉ£¨ºÃ±ÈVue.js»òReact·ÓÉ£©ÔÚË¢ÐÂʱ£¬ºǫ́δ׼ȷ´¦Öóͷ£ËùÓÐÇëÇóµ½Èë¿ÚÒ³Ãæ£»È±ÉÙ¡°index.html¡±»òÊ×Ò³ÎļþµÄ׼ȷÉèÖá£
location/{try_files$uri/index.html;}
»áÈÃnginxÔÚÕÒ²»µ½ÇëÇóURI¶ÔÓ¦×ÊԴʱ£¬Ö±½Ó·µ»Ø404¡£ÈôÊÇÓû§Ö±½Ó»á¼û¡°/about¡±£¬ÔÚûÓÐ׼ȷÉèÖÃα¾²Ì¬µÄÇéÐÎÏ£¬nginx»áÊÔͼÕÒµ½ÏÖʵ±£´æµÄ¡°about¡±Îļþ»òĿ¼£¬Ð§¹ûÕÒ²»µ½×ÔÈ»ÍÉ»¯¡£
¶þ¡¢403Forbidden¡ª¡ªÈ¨ÏÞÎÊÌâÓëÇå¾²¹æÔòÒýÆðµÄËÀ½ÇÏà±È404£¬403ForbiddenÔò´ú±íÇëÇó±»Ð§ÀÍÆ÷¾Ü¾ø»á¼û¡£Õâ¾³£ÓÉȨÏÞÉèÖò»µ±»òÇå¾²Õ½ÂÔµ¼Ö¡£ÀýÈ磬nginxÉèÖÃÖжÔijЩĿ¼ÉèÖÃÁ˹ýÓÚÑÏ¿áµÄ»á¼û¿ØÖÆ£¬»òÕßÒòÎļþȨÏÞ²»·ó¡¢Ä¿Â¼È¨ÏÞȱ·¦£¬Ò²»á·ºÆð403¹ýʧ¡£
Ô´Îļþ»òĿ¼ȨÏÞ먦·Å£¬Óû§ÎÞ·¨¶ÁÈ¡£»ÉèÖÃÖмÓÈëÁËÏÞÖÆIP»òÓû§Éí·ÝµÄÇå¾²¹æÔò£»Ê¹Óá°deny¡±ºÍ¡°allow¡±Ö¸Áîʱ£¬Ã»ÓÐ׼ȷÉèÖã»ÉèÖÃÁ˶à¸öÇ徲ģ¿é£¨ºÃ±ÈModSecurity£¬ÓÖ»ònginxµÄÇå¾²¹ýÂ˹æÔò£©ÎóÅÐΪ¶ñÒâ»á¼û£¬×èµ²ÁËÇëÇó¡£
¼ì²éÎļþºÍĿ¼µÄȨÏÞ£¬È·±£nginxÓÐȨÏÞ»á¼û£»Éó²éÉèÖÃÖеġ°deny/allow¡±¹æÔò£»Éó²éÇ徲ģ¿éµÄ¹æÔò£¬È·±£²»ÊÇÎóÉË£»Öð²½ÅŲ飬ÕÒµ½Ïêϸ×èµ²ÇëÇóµÄÇå¾²Õ½ÂÔ¡£
×ܽáÀ´Ëµ£¬404ºÍ403ËäÊDzî±ðµÄ¹ýʧ״̬Â룬µ«ÔÚnginxÉèÖÃÖУ¬Á½Õß¶¼·´Ó¦³ö·¾¶´¦Öóͷ£ºÍ»á¼ûȨÏÞÉϵÄÎÊÌâ¡£¸ãÇåÎúÕâЩ»ù´¡Ôµ¹ÊÔÓÉ£¬²Å»ªÓеķÅʸ£¬×èÖ¹ÖØ¸´Óöµ½Í¬ÑùµÄ¿Ó¡£
µ±ÎÒÃÇŪÃ÷È·¡°404NotFound¡±ºÍ¡°403Forbidden¡±µÄ³ÉÒòºó£¬½ÓÏÂÀ´¾ÍÊÇÏêϸµÄ½â¾ö¼Æ»®¡£ÕâÒ»²¿·Ö£¬ÎÒÃǽ«ÒÔÏÖʵ²Ù×÷Ϊµ¼Ïò£¬Öð°ì·¨½ÌÄãÔõÑùÅŲ顢ÓÅ»¯nginxÉèÖã¬È·±£Õ¾µãÎȹ̻á¼û¡£
Ò»¡¢È·±£¾²Ì¬×ÊԴ׼ȷָÏò¶Ô¾ø´ó´ó¶¼ÍøÕ¾À´Ëµ£¬¾²Ì¬×ÊÔ´£¨CSS¡¢JS¡¢Í¼Æ¬£©ÊÇÓ°ÏìÓû§ÌåÑéµÄÒªº¦¡£ÉèÖùýʧ³£µ¼ÖÂ×ÊÔ´ÎÞ·¨¼ÓÔØ£¬Ö±½Ó¿´³É¡°404¡±¹ýʧ¡£
ÉèÖá°try_files¡±ÔÚnginxÉèÖÃÎļþÖУ¬¼ÓÈ룺location/{try_files$uri/index.html;}
ÕâÌõ¹æÔò¸æËßnginx£¬µ±ÇëÇóµÄURI²»±£´æ¶ÔÓ¦Îļþʱ£¬½«ÇëÇóת·¢µ½¡°index.html¡±¡£ÕâÊǵ¥Ò³ÃæÓ¦ÓõĻù±¾ÉèÖã¬ÈÃË¢ÐÂÇëÇó×ÜÊÇ·µ»ØÈë¿ÚÒ³Ãæ¡£
µ¥¶ÀÉèÖþ²Ì¬×ÊԴ·¾¶È·±£¾²Ì¬×ÊÔ´µÄ·¾¶×¼È·£¬ÀàËÆ£ºlocation/static/{alias/path/to/your/static/;}
¶þ¡¢¼ì²éÎļþºÍĿ¼ȨÏÞȨÏÞÎÊÌâÊÇÒý·¢403µÄÖ÷ÒªÔµ¹ÊÔÓÉ¡£Öð²½²Ù×÷£º
Éó²éÎļþȨÏÞ£ºls-l/path/to/your/filesµ÷½âȨÏÞ£¨È·±£nginxÓû§¿É¶ÁÈ¡£©£ºchmod-R755/path/to/your/fileschown-Rnginx:nginx/path/to/your/filesÌØÊâ×¢ÖØÄ¿Â¼ÊÇ·ñÓÐÖ´ÐУ¨x£©È¨ÏÞ£¬ÒÔ¼°ÎļþµÄ¶ÁȡȨÏÞ¡£
Èý¡¢ÉèÖúÏÀíµÄÇå¾²Õ½ÂÔÈôÆôÓÃÁËIPÏÞÖÆ¡¢ÊÇ·ÇÃûµ¥»òÇ徲ģ¿é£¬¿ÉÄÜ»áÎóÉËÕýµ±»á¼û¡£½¨ÒéÖð²½·ÅÍÑÆÚÖÆ£¬ÅŲ飺
location/{allowall;#»òʹÓÃÒ»¶Îʱ¼äÄڹرÕÏÞÖÆ£¬È·ÈÏÊÇ·ñΪȨÏÞÔµ¹ÊÔÓÉ}
»òÕߣ¬½ûÓÃÇ徲ģ¿éÊÔÊÔ¡£ÈôÊÇÈ·ÈÏÇå¾²ÉèÖùýÑÏ£¬¿É×ÃÇéµ÷½â¡£
tail-f/var/log/nginx/error.log
ÊÓ²ì¼Í¼¿ÉÒÔ×ÊÖúÄãÅжϣ¬¹ýʧȪԴÓÚ·¾¶ÉèÖá¢È¨ÏÞÕÕ¾ÉÇå¾²¹ýÂË¡£
nginx-tsystemctlreloadnginx
È·±£ÉèÖÃÎÞÎó£¬ÔÙ²âÊÔ»á¼û¡£Öð²½»¹Ô»òÓÅ»¯£¬ÕÒµ½×î¼Ñ¼Æ»®¡£
Áù¡¢Á¬ÏµÇ°¶ËÊÖÒÕÓÅ»¯ÈôÊÇÄãÔÚ×öSPA£¬È·±£ºó¶ËÎÞÎó´¦Öóͷ£ËùÓÐÇëÇ󵽡°index.html¡±¡£È磺
location/{try_files$uri/index.html;}
×ܽᣬÕâЩ¼Æ»®µÄ½¹µãÔÚÓÚÃ÷È·nginxÈçÄÇÀïÖ÷¾¶ÇëÇó£¬È·±£Â·¾¶Ó³Éä׼ȷ¡¢È¨Ï޺Ϲ桢Çå¾²Õ½ÂÔºÏÀí¡£ÕâЩ¶¼ÊÇÕ¾µãÎȹÌÔËÐеĻù´¡¡£
ÈôÊÇÄ㻹Óöµ½ÌرðµÄÎÊÌ⣬ºÃ±ÈÉèÖÃÎļþÖØ´ó¡¢Éæ¼°¶à¸öÄ£¿é»òÇå¾²Õ½ÂÔµ÷½â£¬½¨ÒéÖðÒ»ÑéÖ¤£¬ÉÆÓÃnginx×Ô´øµÄµ÷ÊÔ¹¤¾ß¡£Ö»ÒªÕÆÎÕÁËÉèÖÃ˼Ð÷ºÍµ÷ÊÔ¼¼ÇÉ£¬½â¾ö¡°Ë¢ÐÂ404¡±ºÍ¡°403¡±ÎÊÌ⽫±äµÃÇáËÉÐí¶à¡£¶øÔÚ±³ºó£¬¼á³Ö¶Ôϸ½ÚµÄÃôÈñÊӲ죬×ÜÄÜ×ÊÖúÄã·¢Ã÷DZÔÚµÄÒþ»¼£¬°ÑÍøÕ¾´òÔì³ÉÁîÈ˶¨Ðĵġ°±¤ÀÝ¡±¡£