第十章 Net 5.0 快速開發框架 YC.Boilerplate --部署跨域問題解決方案
阿新 • • 發佈:2021-09-13
線上文件:http://doc.yc-l.com/#/README
線上演示地址:http://yc.yc-l.com/#/login
原始碼github:https://github.com/linbin524/yc.boilerplate
原始碼gitee:https://gitee.com/linxuanming/yc.boilerplate
視訊教程:
元磁之力框架開源初心和框架設計介紹(上):https://www.bilibili.com/video/BV1VM4y1G7hC/
元磁之力框架開源初心和框架設計介紹(下):https://www.bilibili.com/video/BV15h411s7w6/
元磁之力框架資料庫表和程式碼生成使用教程實戰: https://www.bilibili.com/video/BV1oM4y137D5/
QQ群:1060819005
後續:關於框架demo和細節技巧,會在QQ群中釋出,就不撰文說明。
環境介紹:
前端部署:npm run build 命令生成dist 檔案,在nginx 部署
後端部署:
(1)採用IIS 作為服務載體部署。
(2)直接用dotnet YC.ServiceWebApi.dll 執行
問題:部署完成可能遇到跨域問題【put和delete等方法中】
解決方案:
一、iis 支援put和delete
除錯的時候是可以使用put請求的,後面部署到IIS上面的使用舊提示報錯了。
原因是IIS預設是不支援put和delete的請求的,要想IIS支援,則需要進行如下兩個步驟。
1、刪除自己專案下的IIS安裝的WebDav模組
2、修改你專案的web.config ,在<system.webServer>標籤內加上以下程式碼。
<modules runAllManagedModulesForAllRequests="true" runManagedModulesForWebDavRequests="true"> <remove name="WebDAVModule"/> </modules> <handlers> <remove name="WebDAV" /> </handlers>
二、nginx 配置跨域支援put和delete
location ^~/api {
if ($request_method = 'OPTIONS') {#新增跨域支援
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,PATCH,OPTIONS;
return 200;
}
rewrite ^/api/(.*)$ /$1 break; #重置api
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://106.54.54.39:8001; #****後端介面地址
}
筆者原創!如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”將是我最大的寫作動力!歡迎各位轉載,轉載請新增原部落格連線,否則保留追究法律責任的權利,謝謝!
YC.Boilerplate 快速開發框架交流,請加群:1060819005
區塊鏈交流請加QQ群:538327407(已滿),群2:135019400.
我的部落格地址:http://www.cnblogs.com/linbin524/