關(guān)于nginx報(bào)錯(cuò)405?not?allowed解決方法總結(jié)
一、報(bào)錯(cuò)原因提示:nginx 解決 405 not allowed錯(cuò)誤
問(wèn)題產(chǎn)生原因:因?yàn)檫@里請(qǐng)求的靜態(tài)文件采用的是post方法,nginx是不允許post訪問(wèn)靜態(tài)資源。題話外,試著post訪問(wèn)了下www.baidu.com發(fā)現(xiàn)頁(yè)面也是報(bào)錯(cuò),可以試著用get方式訪問(wèn)
二、解決方式(四種)
1、將405錯(cuò)誤指向成功
靜態(tài)server下的location加入 error_page 405 =200 $uri;(說(shuō)白了就是強(qiáng)制將405錯(cuò)誤用200代替了)
location / { root /usr/locai/nginx/html/kt; try_files $uri $uri/ /index.html; index index.html index.htm; error_page 405 =200 $request_uri; }
2、修改nginx下src/http/modules/ngx_http_static_module.c文件
if (r->method & NGX_HTTP_POST) { return NGX_HTTP_NOT_ALLOWED; }
把這一段注釋掉,重新編譯,將make install編譯生成的nginx文件復(fù)制到sbin下 重啟nginx
3、允許nginx的post請(qǐng)求訪問(wèn)靜態(tài)資源,個(gè)人感覺(jué)是強(qiáng)制把post請(qǐng)求變get了
upstream static_backend { server localhost:80; } server { listen 80; # ... error_page 405 =200 @405; location @405 { root /srv/http; proxy_method GET; proxy_pass http://static_backend; } }
**4、跨服務(wù)調(diào)用報(bào)錯(cuò)解決(親測(cè)有效)
server { listen 8010; server_name localhost; location / { root /usr/local/system/efe/dist; index index.html index.htm; try_files $uri $uri/ /index.html; error_page 405 =200 @405; location @405 { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #ip為后端服務(wù)地址 proxy_pass http://ip+端口$request_uri ; } }
總結(jié)
到此這篇關(guān)于關(guān)于nginx報(bào)錯(cuò)405 not allowed解決的文章就介紹到這了,更多相關(guān)nginx報(bào)錯(cuò)405 not allowed內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx服務(wù)器中瀏覽器本地緩存和虛擬機(jī)的相關(guān)設(shè)置
這篇文章主要介紹了Nginx服務(wù)器中瀏覽器本地緩存和虛擬機(jī)的相關(guān)設(shè)置,是Nginx服務(wù)器搭建過(guò)程中的基本配置,需要的朋友可以參考下2015-08-08Nginx代理Vue項(xiàng)目出現(xiàn)Invalid Host header問(wèn)題及解決
在使用Nginx的upstream對(duì)Vue項(xiàng)目進(jìn)行負(fù)載均衡時(shí),如果代理地址無(wú)法訪問(wèn)目標(biāo)地址且頁(yè)面報(bào)錯(cuò)InvalidHostheader(無(wú)效主機(jī)頭),可能是由于Vue項(xiàng)目的主機(jī)檢查配置導(dǎo)致的,解決方法是在Vue項(xiàng)目的webpack.dev.js文件中的devServer下添加disableHostCheck:true,跳過(guò)主機(jī)檢查2024-12-12解決Nginx配置靜態(tài)資源文件404 Not Found問(wèn)題
在使用Nginx作為靜態(tài)資源服務(wù)器時(shí),如果配置了根目錄root導(dǎo)致404錯(cuò)誤,而使用前綴URL配置alias則需要正確處理目錄路徑,使用alias時(shí)要確保目錄名后加‘/’,并且在需要時(shí)使用root和alias配置,本文介紹Nginx配置靜態(tài)資源文件404 Not Found問(wèn)題解決方法,感興趣的朋友一起看看吧2025-03-03Nginx反向代理多個(gè)服務(wù)器的實(shí)現(xiàn)方法
這篇文章主要介紹了Nginx反向代理多個(gè)服務(wù)器的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02詳解用nginx+WordPress搭建個(gè)人博客全流程
這篇文章主要介紹了詳解用nginx+WordPress搭建個(gè)人博客全流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04nginx 不同的訪問(wèn)路徑對(duì)應(yīng)項(xiàng)目不同的目錄的實(shí)現(xiàn)方法
要在 Nginx 中配置不同的訪問(wèn)路徑對(duì)應(yīng)不同的項(xiàng)目目錄,可以使用 Nginx 的?location?指令來(lái)實(shí)現(xiàn),本文主要介紹了nginx不同的訪問(wèn)路徑對(duì)應(yīng)項(xiàng)目不同的目錄的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09