日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

nginx 响应服务器静态,405 Not Allowed,nginx静态文件响应post请求

發(fā)布時(shí)間:2023/12/19 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 nginx 响应服务器静态,405 Not Allowed,nginx静态文件响应post请求 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

說(shuō)明:

nginx不允許向靜態(tài)文件提交post方式的請(qǐng)求,否則會(huì)返回“HTTP/1.1 405 Method not allowed”錯(cuò)誤,至于原來(lái)還沒(méi)去研究。顯示如下

```

[root@gaingreat blort]# curl -d 1=1 www.coolnull.com/blort/1.json

405 Not Allowed

405 Not Allowed


nginx

```

解決:解決方法有三種

## 一. 重定向405錯(cuò)誤碼到200

在nginx server{}里面添加以下內(nèi)容,root為站點(diǎn)的根目錄

```

location ~ (.*\.json) {

root /data/web/coolnull.com/www;

error_page 405 =200 $1;

}

```

`nginx reload`下即可

```

[root@gaingreat blort]# curl -d 1=1 www.coolnull.com/blort/1.json //這樣就可以post數(shù)據(jù)給靜態(tài)文件了!!

111

```

## 二. 轉(zhuǎn)換靜態(tài)文件接收的POST請(qǐng)求到GET方法去,一種聽(tīng)說(shuō)不完美但也可以用的方法

```

upstream static_backend {

server localhost:80;

}

server {

listen 80;

...

error_page 405 =200 @405;

location @405 {

root /data/web/coolnull.com/www;

proxy_method GET;

proxy_pass http://static_backend;

}

}

```

## 三. 修改nginx源碼,這個(gè)真心沒(méi)試過(guò)!

源碼文件位于 `/nginx` 源碼目錄 `/src/http/modules/ngx_http_static_module.c` ,找到如下代碼:

```

if (r->method & NGX_HTTP_POST) {

return NGX_HTTP_NOT_ALLOWED;

}

```

整段注釋掉,然后重新編譯 `make`,不需要`make install`,把編譯生成的`nginx`文件復(fù)制到`sbin`下的`nginx`文件,重啟`nginx`即可。

總結(jié)

以上是生活随笔為你收集整理的nginx 响应服务器静态,405 Not Allowed,nginx静态文件响应post请求的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。