第十章 Net 5.0 快速开发框架 YC.Boilerplate --部署跨域问题解决方案

时间:2021-09-13
本文章向大家介绍第十章 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/

原文地址:https://www.cnblogs.com/linbin524/p/15262279.html