| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> IIS部署React项目crossorigin跨域的处理 -> 正文阅读 |
|
[JavaScript知识库]IIS部署React项目crossorigin跨域的处理 |
刚做完一个小的React项目,因为手上暂时只有现成的Windows Server 2019服务器,所以就准备将这个项目直接部署到IIS上去。 项目主要涉及以下相关技术: React,TypeScript, Ant Design ASP.NET Core Web API,SQL Server 因为涉及调用API时的跨域问题,所以开发过程中,用到了http-proxy-middleware这个组件。使用起来非常简单,在React项目的src目录下,新建一个setupProxy.js文件,内容如下:
axios中请求时,不用写域名,直接/api开头即可最终请求到上述target中定义的api地址。
假如React项目当前运行在 http://localhost:3000 地址上,上述代理的流程是这样的: axios请求api地址为/api/user(即http://localhost:3000/api/user),因为请求的地址和页面同属localhost:3000,所以不涉及跨域;然后代理中间件将该请求最终发送至 http://x.x.x.x:8080/user。 (跨域仅涉及浏览器请求模式,代理中间件的工作模式和浏览器是有差别的,所以中间件请求时不会涉及跨域) 以上配置在开发模式下工作正常,但是将项目部署到IIS后,代理中间件无法正常工作。此时,需要在服务器IIS端做必要的配置。 1)利用webpack打包后,将打包后的项目按常规网站部署到IIS中去。 2)IIS中配置路由重写规则。假定: React项目地址是:http://10.10.10.10:8090 Web API项目地址是:http://10.10.10.10:8080 React中请求的地址是:http://10.10.10.10:8090/api/user, 最终我们需要的是请求到http://10.10.10.10:8080/user a)下载安装IIS URL重写模块(如果已经安装请忽略):https://www.iis.net/downloads/microsoft/url-rewrite b)安装好以后,选中React站点,添加URL重写规则: ? ? ? ?c)启用ARR(应用程序请求路由)的代理 ? ? 如果找不到ARR组件,可以下载安装。如下图: ? ? ? ?至此,IIS中的跨域配置就完成了。当React页面中请求的地址中包含/api/时,路由重写会匹配到,然后IIS将请求代理发送到最终的api接口,并返回结果。此过程对React客户端透明。 ? |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:06:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |