1.出現(xiàn)此問(wèn)題的場(chǎng)景:
? ? ? ? ? ? 前后端分離的項(xiàng)目(VUE+SpringBoot),本地聯(lián)調(diào)測(cè)試一切正常.前端打dist包部署到Nginx服務(wù)器上發(fā)布.訪問(wèn)接口出現(xiàn)405 not allowed的現(xiàn)象.
? ? ? ? ? ? ?問(wèn)題出現(xiàn)的根源是nginx, 這個(gè)錯(cuò)誤的原因就是nginx不允許用戶使用post請(qǐng)求訪問(wèn)靜態(tài)資源,那么我們就需要在nginx把這個(gè)請(qǐng)求判為405 error后去做轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)到對(duì)應(yīng)的后端接口上面去
nginx配置如下即可:
location / {
? ? ? ? ? ? root /xxx/vue-dist;
? ? ? ? ? ? try_files $uri $uri/ @router;
? ? ? ? ? ? index index.html;
? ? ? ? ? ? error_page 405 =200 @405;
}
location @405 {
? ? ? ? ? ? proxy_pass http://127.0.0.1:8080$request_uri;
? ? ? ? ? ? proxy_set_header Host $host;
? ? ? ? ? ? proxy_set_header X-Real-IP $remote_addr;
? ? ? ? ? ? proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}