第十章 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; #****后端接口地址

}
复制代码

 

posted @   linbin524  阅读(165)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示