第十章 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 运行
问题:部署完成可能遇到跨域问题【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/