CN106878408A - 跨域请求数据的方法及系统 - Google Patents
跨域请求数据的方法及系统 Download PDFInfo
- Publication number
- CN106878408A CN106878408A CN201710069097.5A CN201710069097A CN106878408A CN 106878408 A CN106878408 A CN 106878408A CN 201710069097 A CN201710069097 A CN 201710069097A CN 106878408 A CN106878408 A CN 106878408A
- Authority
- CN
- China
- Prior art keywords
- servers
- request
- url
- nginx
- web ends
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种跨域请求数据的方法及系统,方法包括:部署Web端的服务至Nginx服务器中;在Nginx服务器建立URL请求规则,所述URL请求规则为在Web端发送到Nginx服务器的请求的URL中添加预设标识;依据URL请求规则配置Nginx服务器;将Nginx服务器中带有预设标识的URL进行重写处理;将重写处理后的请求转发至其他服务器;Nginx服务器将其他服务器传回的数据发送至Web端。通过在Nginx服务器中建立URL请求规则,提供重写功能,进行反向代理,将Web端的请求转发到用于处理请求的其他服务器,使Web端的请求对接不同服务器的不同API接口,最终实现跨域请求。
Description
技术领域
本发明涉及数据请求技术领域,尤其涉及一种跨域请求数据的方法及系统。
背景技术
目前解决跨域请求问题的方法主要有两种,一种是采用JSONP回调函数解决主流浏览器的跨域访问数据的问题,但是JSONP只能实现GET请求不能支持POST等其他类型的HTTP请求。如公开号为CN 102043832A的专利文件公开了一种网页上实现跨域请求回调的方法,包括以下步骤:1)源用户打开本站网页,本站网页通过网页框架加载外站网页;2)所加载的外站网页自动生成网页框架,并在框架上加载本站的回调处理页面;3)当外站网页进行处理需要改变本站网页内容时,通过更改内嵌的框架链接地址和参数告知所嵌入本站网页回调处理页面需要进行处理的内容;4)本站网页回调处理页面在接收到处理指令后,调用自己父级的父级网页即本站原网页的处理函数,对本站网页进行操作,即实现网页上跨域请求回调。
还有一种是采用跨域资源共享(CORS)的方案,通过服务端设置Access-Control-Allow-Origin响应头参数,当浏览器检测到相应的设置时,就允许进行跨域数据的访问,但是该方法不支持IE10以下的浏览器版本,无法兼容市面上所有的浏览器版本。
发明内容
本发明所要解决的技术问题是:提供一种跨域请求数据的方法及系统,能够有效解决跨域问题,且能兼容市面上所有的浏览器版本。
为了解决上述技术问题,本发明采用的技术方案为:
一种跨域请求数据的方法,包括:
部署Web端的服务至Nginx服务器中;
在Nginx服务器建立URL请求规则,所述URL请求规则为在Web端发送到Nginx服务器的请求的URL中添加预设标识;
依据URL请求规则配置Nginx服务器;
将Nginx服务器中带有预设标识的URL进行重写处理;
将重写处理后的请求转发至其他服务器;
Nginx服务器将其他服务器传回的数据发送至Web端。
本发明提供的另一个技术方案为:
一种跨域请求数据的系统,包括:Web端、Nginx服务器和其他服务器,所述Nginx服务器包括:
部署模块,用于部署Web端的服务至Nginx服务器中;
请求规则建立模块,用于在Nginx服务器建立URL请求规则,所述URL请求规则为在Web端发送到Nginx服务器的请求的URL中添加预设标识;
配置模块,用于依据URL请求规则配置Nginx服务器;
重写模块,用于将Nginx服务器中带有预设标识的URL进行重写处理;
转发模块,用于将重写处理后的请求转发至其他服务器;以及将其他服务器传回的数据发送至Web端。
本发明的有益效果在于:通过在Nginx服务器中部署Web项目并建立URL请求规则,提供重写功能,进行反向代理,将Web端的请求转发到其他服务器,该其他服务器即用于处理Web端的请求的服务器,使Web端的请求对接不同服务器的不同API接口,最终进行前后端正常的数据交互请求流程,有效解决跨域问题,支持所有浏览器,用于处理请求的服务器接口不需要改造,减少了开发需求而又能保证前后端架构完全分离,降低了耦合度,提高开发效率。
附图说明
图1为本发明实施例的跨域请求数据的方法的流程示意图;
图2为本发明实施例的跨域请求数据的系统的结构示意图;
图3为本发明实施例一的跨域请求数据的方法的流程示意图。
标号说明:
1、Web端;2、Nginx服务器;21、部署模块;22、请求规则建立模块;
23、配置模块;24、重写模块;25、转发模块;3、其他服务器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:在Nginx服务器建立URL请求规则,依据依据URL请求规则配置Nginx服务器,Web端发起请求时,依据建立的URL请求规则将请求转发至其他服务器进行处理。
请参照图1,本发明提供:
一种跨域请求数据的方法,包括:
部署Web端的服务至Nginx服务器中;
在Nginx服务器建立URL请求规则,所述URL请求规则为在Web端发送到Nginx服务器的请求的URL中添加预设标识;
依据URL请求规则配置Nginx服务器;
将Nginx服务器中带有预设标识的URL进行重写处理;
将重写处理后的请求转发至其他服务器;
Nginx服务器将其他服务器传回的数据发送至Web端。
从上述描述可知,本发明的有益效果在于:有效解决跨域问题,支持所有浏览器,用于处理请求的服务器接口不需要改造,减少了开发需求而又能保证前后端架构完全分离,降低了耦合度,提高开发效率。
进一步的,部署Web端的服务至Nginx服务器中,具体为:
部署Web端的服务至Nginx服务器的html根目录下。
从上述描述可知,部署Web端的服务可采用上述将Web端的服务部署至Nginx服务器的html根目录下的方式,也可以采用其他现有能实现相同效果的方法。
进一步的,依据URL请求规则配置Nginx服务器,具体为:
依据URL请求规则配置nginx.conf文件。
从上述描述可知,配置nginx.conf文件后,即可将URL中带有特定前缀的请求转发至相应的其他服务器。
进一步的,将Web前端中带有预设标识的URL进行重写处理,具体为:
通过配置nginx.conf文件的server配置的location中的rewrite属性重写带有预设标识的URL。
从上述描述可知,Nginx服务器进行反向代理,将Web前端请求转发给其他服务器时具体采用上述方法对URL进行重写,如localhost请求转发到http://dell-navigate.dev.web.nd,依据URL请求规则,Web端请求http:localhost/dell/getDellAPI,通过配置nginx.conf文件中的server配置中的location中rewrite属性进行重写URL,将URL重写成http://dell-navigate.dev.web.nd/getDellAPI,最终进行前后端正常的数据交互请求流程。
请参照图2,本发明的另一个技术方案为:
一种跨域请求数据的系统,包括:Web端1、Nginx服务器2和其他服务器3,所述Nginx服务器2包括:
部署模块21,用于部署Web端的服务至Nginx服务器中;
请求规则建立模块22,用于在Nginx服务器建立URL请求规则,所述URL请求规则为在Web端发送到Nginx服务器的请求的URL中添加预设标识;
配置模块23,用于依据URL请求规则配置Nginx服务器;
重写模块24,用于将Nginx服务器中带有预设标识的URL进行重写处理;
转发模块25,用于将重写处理后的请求转发至其他服务器;以及将其他服务器传回的数据发送至Web端。
进一步的,部署模块21具体用于部署Web端的服务至Nginx服务器的html根目录下。
进一步的,配置模块23具体用于依据URL请求规则配置nginx.conf文件。
进一步的,重写模块24具体用于通过配置nginx.conf文件的server配置的location中的rewrite属性重写带有预设标识的URL。
请参照图3,本发明的实施例一为:
一种跨域请求数据的方法,包括:
部署Web端的服务至Nginx服务器的html根目录下;
在Nginx服务器建立URL请求规则,所述URL请求规则为在Web端发送到Nginx服务器的请求的URL中添加预设标识;
依据URL请求规则配置nginx.conf文件;
通过配置nginx.conf文件的server配置的location中的rewrite属性重写带有预设标识的URL;
将重写处理后的请求转发至其他服务器;
Nginx服务器将其他服务器传回的数据发送至Web端。
下面以一个实例说明上述方案的数据请求过程:
1.Web端请求的URL为:http:localhost:8080;
2.Nginx服务器为Web端请求的URL设定特定请求前缀/dell_dev,则请求的URL变为http:localhost:8080/dell_dev;
3.配置nginx.conf文件;
4.将http:localhost:8080/dell_dev重写为http://dell-navigate.dev.web.nd,则配置完成后请求http:localhost:8080/dell_dev被转发到http://dell-navigate.dev.web.nd,对应的服务器进行请求响应。
请参照图2,本发明的实施例二为:
一种与上述实施例一的跨域请求数据的方法对应的系统,包括:Web端1、Nginx服务器2和其他服务器3,所述Nginx服务器2包括:
部署模块21,用于部署Web端的服务至Nginx服务器的html根目录下;
请求规则建立模块22,用于在Nginx服务器建立URL请求规则,所述URL请求规则为在Web端发送到Nginx服务器的请求的URL中添加预设标识;
配置模块23,用于依据URL请求规则配置nginx.conf文件;
重写模块24,用于通过配置nginx.conf文件的server配置的location中的rewrite属性重写带有预设标识的URL;
转发模块25,用于将重写处理后的请求转发至其他服务器;以及将其他服务器传回的数据发送至Web端。
综上所述,本发明提供的跨域请求数据的方法及系统,既有效解决了跨域问题,用于处理请求的服务器接口不需要改造,同时可兼容目前市面上所有的浏览器版本,减少了开发需求。并且实现前后端架构完全分离,降低了耦合度,提高开发效率。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种跨域请求数据的方法,其特征在于,包括:
部署Web端的服务至Nginx服务器中;
在Nginx服务器建立URL请求规则,所述URL请求规则为在Web端发送到Nginx服务器的请求的URL中添加预设标识;
依据URL请求规则配置Nginx服务器;
将Nginx服务器中带有预设标识的URL进行重写处理;
将重写处理后的请求转发至其他服务器;
Nginx服务器将其他服务器传回的数据发送至Web端。
2.根据权利要求1所述的跨域请求数据的方法,其特征在于,部署Web端的服务至Nginx服务器中,具体为:
部署Web端的服务至Nginx服务器的html根目录下。
3.根据权利要求1所述的跨域请求数据的方法,其特征在于,依据URL请求规则配置Nginx服务器,具体为:
依据URL请求规则配置nginx.conf文件。
4.根据权利要求1所述的跨域请求数据的方法,其特征在于,将Web前端中带有预设标识的URL进行重写处理,具体为:
通过配置nginx.conf文件的server配置的location中的rewrite属性重写带有预设标识的URL。
5.一种跨域请求数据的系统,其特征在于,包括:Web端、Nginx服务器和其他服务器,所述Nginx服务器包括:
部署模块,用于部署Web端的服务至Nginx服务器中;
请求规则建立模块,用于在Nginx服务器建立URL请求规则,所述URL请求规则为在Web端发送到Nginx服务器的请求的URL中添加预设标识;
配置模块,用于依据URL请求规则配置Nginx服务器;
重写模块,用于将Nginx服务器中带有预设标识的URL进行重写处理;
转发模块,用于将重写处理后的请求转发至其他服务器;以及将其他服务器传回的数据发送至Web端。
6.根据权利要求5所述的跨域请求数据的系统,其特征在于,部署模块具体用于部署Web端的服务至Nginx服务器的html根目录下。
7.根据权利要求5所述的跨域请求数据的系统,其特征在于,配置模块具体用于依据URL请求规则配置nginx.conf文件。
8.根据权利要求5所述的跨域请求数据的系统,其特征在于,重写模块具体用于通过配置nginx.conf文件的server配置的location中的rewrite属性重写带有预设标识的URL。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710069097.5A CN106878408A (zh) | 2017-02-08 | 2017-02-08 | 跨域请求数据的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710069097.5A CN106878408A (zh) | 2017-02-08 | 2017-02-08 | 跨域请求数据的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106878408A true CN106878408A (zh) | 2017-06-20 |
Family
ID=59165816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710069097.5A Pending CN106878408A (zh) | 2017-02-08 | 2017-02-08 | 跨域请求数据的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106878408A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107995259A (zh) * | 2017-11-14 | 2018-05-04 | 北京思特奇信息技术股份有限公司 | 一种对跨域请求进行处理的方法及装置 |
CN108769189A (zh) * | 2018-05-28 | 2018-11-06 | 上海恺英网络科技有限公司 | 跨网络域资源的访问方法及设备 |
CN109450995A (zh) * | 2018-10-25 | 2019-03-08 | 视联动力信息技术股份有限公司 | 一种服务器端数据的获取方法和系统 |
CN109688280A (zh) * | 2018-08-21 | 2019-04-26 | 平安科技(深圳)有限公司 | 请求处理方法、请求处理设备、浏览器及存储介质 |
CN109815254A (zh) * | 2018-12-28 | 2019-05-28 | 北京东方国信科技股份有限公司 | 基于大数据的跨地域任务调度方法及系统 |
CN110196957A (zh) * | 2019-06-03 | 2019-09-03 | 广州凡科互联网科技股份有限公司 | 一种连续式静态资源更新方法 |
CN110347466A (zh) * | 2019-07-04 | 2019-10-18 | 绿漫科技有限公司 | 一种用于web页面3D动态展示文字的方法 |
CN111190743A (zh) * | 2018-11-14 | 2020-05-22 | 千寻位置网络有限公司 | 一种解决前端本地开发跨域问题的方法和装置 |
CN112243013A (zh) * | 2019-07-16 | 2021-01-19 | 中国移动通信集团浙江有限公司 | 一种实现跨域资源缓存的方法、系统、服务器和存储介质 |
CN113938464A (zh) * | 2021-09-24 | 2022-01-14 | 福建天泉教育科技有限公司 | 一种请求访问方法及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426862A (zh) * | 2013-08-27 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 实现跨域请求登录的方法、系统及浏览器 |
CN105871947A (zh) * | 2015-01-20 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 跨域请求数据的方法及装置 |
-
2017
- 2017-02-08 CN CN201710069097.5A patent/CN106878408A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426862A (zh) * | 2013-08-27 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 实现跨域请求登录的方法、系统及浏览器 |
CN105871947A (zh) * | 2015-01-20 | 2016-08-17 | 阿里巴巴集团控股有限公司 | 跨域请求数据的方法及装置 |
Non-Patent Citations (2)
Title |
---|
吴迪,: ""基于Nginx的安全管理系统的设计与实现"", 《中国优秀硕士学位论文全文数据库-信息科技辑》 * |
吴迪,徐国胜,: ""一种基于Nginx的安全设备代理方案"", 《第九届中国通信学会学术年会》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107995259A (zh) * | 2017-11-14 | 2018-05-04 | 北京思特奇信息技术股份有限公司 | 一种对跨域请求进行处理的方法及装置 |
CN108769189A (zh) * | 2018-05-28 | 2018-11-06 | 上海恺英网络科技有限公司 | 跨网络域资源的访问方法及设备 |
CN109688280A (zh) * | 2018-08-21 | 2019-04-26 | 平安科技(深圳)有限公司 | 请求处理方法、请求处理设备、浏览器及存储介质 |
CN109450995A (zh) * | 2018-10-25 | 2019-03-08 | 视联动力信息技术股份有限公司 | 一种服务器端数据的获取方法和系统 |
CN109450995B (zh) * | 2018-10-25 | 2020-10-27 | 视联动力信息技术股份有限公司 | 一种服务器端数据的获取方法和系统 |
CN111190743A (zh) * | 2018-11-14 | 2020-05-22 | 千寻位置网络有限公司 | 一种解决前端本地开发跨域问题的方法和装置 |
CN109815254B (zh) * | 2018-12-28 | 2020-12-22 | 北京东方国信科技股份有限公司 | 基于大数据的跨地域任务调度方法及系统 |
CN109815254A (zh) * | 2018-12-28 | 2019-05-28 | 北京东方国信科技股份有限公司 | 基于大数据的跨地域任务调度方法及系统 |
CN110196957A (zh) * | 2019-06-03 | 2019-09-03 | 广州凡科互联网科技股份有限公司 | 一种连续式静态资源更新方法 |
CN110347466A (zh) * | 2019-07-04 | 2019-10-18 | 绿漫科技有限公司 | 一种用于web页面3D动态展示文字的方法 |
CN112243013A (zh) * | 2019-07-16 | 2021-01-19 | 中国移动通信集团浙江有限公司 | 一种实现跨域资源缓存的方法、系统、服务器和存储介质 |
CN113938464A (zh) * | 2021-09-24 | 2022-01-14 | 福建天泉教育科技有限公司 | 一种请求访问方法及终端 |
CN113938464B (zh) * | 2021-09-24 | 2023-09-01 | 福建天泉教育科技有限公司 | 一种请求访问方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106878408A (zh) | 跨域请求数据的方法及系统 | |
CN105357323B (zh) | 一种app中html5页面调试方法及装置 | |
US8438251B2 (en) | Methods and systems for implementing a virtual storage network | |
US9460222B2 (en) | System for rewriting dynamically generated uniform resource locators in proxied hyper text markup language content in accordance with proxy server rules | |
CN103685269B (zh) | 一种web浏览器与服务器进行双向通讯的方法和系统 | |
US20120173612A1 (en) | Editing an unhosted third party application | |
CN103118082B (zh) | 附加信息植入方法、设备及系统 | |
CN105045887A (zh) | 混合模式跨域数据交互的系统及其方法 | |
CN102043832A (zh) | 一种网页上实现跨域请求回调的方法 | |
US8799515B1 (en) | Rewriting of client-side executed scripts in the operation of an SSL VPN | |
US11677809B2 (en) | Methods for transforming a server side template into a client side template and devices thereof | |
CN109829121B (zh) | 一种点击行为数据上报的方法和装置 | |
CN110516139B (zh) | 爬虫系统及方法 | |
CN106656920B (zh) | Http服务的处理方法、装置、存储介质及处理器 | |
CN109936605B (zh) | 一种加载接口数据的方法和装置 | |
CN105763619A (zh) | 客户端与服务端进行通讯的方法及装置 | |
CN106790276A (zh) | 一种基于浏览器协议的跨浏览器数据交互方法和装置 | |
TWI713342B (zh) | 物件上傳方法及裝置 | |
CN104615597B (zh) | 浏览器中清除缓存文件的方法、装置和系统 | |
CN103905484B (zh) | 处理超文本传输协议请求的方法及装置 | |
CN106993058A (zh) | 网络请求的中转方法和装置 | |
CN109561131A (zh) | 一种基于编程语言下载excel数据的方法及电子设备 | |
CN110633443B (zh) | 一种页内数据通信的方法、装置、设备和介质 | |
US10291743B2 (en) | Configuring service endpoints in native client applications | |
CN106126663A (zh) | 页面聚合方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170620 |