開發中的一些小事
- <strong>跨域</strong>
問題描述:
php程式部署到nginx伺服器,前端呼叫API報出跨域問題(200時沒問題,422時出現此問題):
[“No 'Access-Control-Allow-Origin' header is present on the requested resource”]
檢查nginx配置檔案,包括允許跨域的配置如下:
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
解決方案:
出現此問題是因為add_header
是針對200, 201, 204, 206, 301, 302, 303, 304, 307這些HTTP響應的,如果想要在響應等於4XX的時候也起作用需要新增always
,所以配置應為:
add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Headers X-Requested-With always;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS always;
另一種解決方案是使用more_set_headers
替換add_header
,以便允許更多的響應跨域或是根據需要更靈活的配置響應值為對應值時可用。
more_set_headers 'Access-Control-Allow-Origin: *';
more_set_headers -s '404' 'Access-Control-Allow-Origin: *';
相關文章
- Flutter開發中的一些TipsFlutter
- ionic 開發中的一些錯誤
- Flutter開發中的一些Tips(三)Flutter
- Flutter開發中的一些Tips(二)Flutter
- rocketchip開發中的一些體會
- 開發中的一些經驗總結
- java開發中的一些概念名詞Java
- 不可忽視工作中的“小事”
- iOS translucent引發的那點小事iOS
- [微信小程式]開發中遇到的一些“坑”微信小程式
- 專案開發中對成長的一些思考
- iOS 開發中遇到的一些證書問題iOS
- Chrome 中能幫助我們開發的一些利器Chrome
- 前端開發中遇到的一些問題----持續更新前端
- 開發中經常需要確認mysql的一些資訊MySql
- 是時候理清 React 開發中的一些疑惑了React
- oracle listener 靜態監聽與動態監聽的一些小事Oracle
- 從身邊小事做起 為開源發展增磚添瓦
- 小事件事件
- 直播系統開發過程中的一些關鍵點
- 高校天文共享平臺開發過程中的一些思考
- vue開發的一些外掛Vue
- 軟體開發的一些"心法"
- web開發的一些問題Web
- 開發中常用的一些命令
- CLion開發Qt的一些配置QT
- 教育系統開發中的一些技術問題解析
- 記升級 macOS Mojave 過程中的一件小事Mac
- 《基於MVC的javascript web富應用開發》中的一些函式MVCJavaScriptWeb函式
- laravel開發中遇到的問題與bug修復的一些總結Laravel
- 關於Android 手機的一些開發過程中的常識Android
- 關於Redis的幾件小事 | 高併發和高可用Redis
- Vue專案開發過程中遇到的一些問題總結Vue
- Android:隨筆——記錄一些Andriod開發中不常用的庫Android
- windows開發環境的一些坑Windows開發環境
- 開發小程式的一些小經驗
- Laravel 開發 RESTful API 的一些心得LaravelRESTAPI
- 關於GCD開發的一些事GC