Nginx1.16下HTML頁面POST請求靜態JSON數據返回405狀態


在瀏覽器訪問HTML頁面,發現一些靜態JSON數據沒有顯示,F12查看,如下圖所示:

可以看到請求方式為POST

將請求鏈接復制在瀏覽器地址欄訪問,可以正常請求到數據

F12查看,可以看到請求方式為GET,狀態碼為200

可知問題為:Nginx下HTML頁面POST請求靜態JSON數據返回405狀態,但用GET請求則正常返回數據。

百度后,有說,Apache、IIS、Nginx等絕大多數Web服務器,都不允許靜態文件響應POST請求。

下面進行測試:

系統為CentOS7.5,Nginx(版本:1.16.1)和Apache(版本:2.4.6)都是yum安裝

經過測試:

Apache-2.4.6可以正常響應POST請求

對Nginx的解決方法如下:

打開Nginx的配置文件:

vim /etc/nginx/conf.d/default.conf

在location下添加如下的配置:

error_page 405 =200 http://$host$request_uri;

systemctl restart nginx

修改完Nginx的配置文件后,記得重啟,讓其生效 

用瀏覽器再次訪問HTML頁面,F12查看,可以看到請求方式被修改為GET,如下圖所示:

這篇文章的解決方法也可以:https://my.oschina.net/lemonzone2010/blog/174505,但操作會多一點

本文參考自:https://blog.csdn.net/weixin_30341745/article/details/97532878


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM