1. 程式人生 > 其它 >第十章 Net 5.0 快速開發框架 YC.Boilerplate --部署跨域問題解決方案

第十章 Net 5.0 快速開發框架 YC.Boilerplate --部署跨域問題解決方案

線上文件: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 執行

問題:部署完成可能遇到跨域問題【putdelete等方法中】

解決方案:

一、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/