反向代理(Apache设置反向代理解决js跨域问题)

反向代理的原理图解
  1. 由于跨域阻止了我们数据请求,所以转变思路,我们不发送跨域请求了,直接请求当前域名中的内容
  2. 服务器在接收到数据请求之后将数据请求转发给接口服务器
  3. 接口服务器先将数据返回给web服务器
  4. web服务器再将接口服务器返回的数据转发给浏览器
  5. 从studyit.com发送请求到api.botue.com浏览器产生了跨域,被浏览器截止了!
    注意:使用反向代理会增加服务器负担,访问量大的话,服务器就容易崩。

原理:
请求数据,不再直接请求接口服务器,而是请求自己的网页服务器,就不会再有跨域问题的产生。
自己的网页服务器上,需要做些许的配置,帮我们转发数据请求到接口服务器!

配置步骤如下:

  1. 打开httpd.conf,搜索proxy,将下面两行代码注释去掉
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_module modules/mod_proxy.so
  1. 打开httpd-vhosts.conf文件(C:\wamp\bin\apache\Apache2.2.21\conf\extra\httpd-vhosts.conf),在需要跨域的页面域名节点下加入下面两个配置项
<VirtualHost *:80>
ProxyRequests off    #代理服务器正向代理关闭了
ProxyPass /api http://api.botue.com/v3    #代理转发路径;/api是随意写的,只是指定一个名字,让这个名字帮忙拿数据。
#例如:
#http://studyit.com/api/teacher
#http://api.botue.com/v3/teacher
#是完全等价的
</VirtualHost>
  1. 重启wamp
    正向代理与反向代理:https://www.zhihu.com/question/24723688
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,948评论 18 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,166评论 6 13
  • 一、HTTP服务 1.1 C/S和B/S B/S架构:即Broswer、Server,将所有的服务都可以通过浏览器...
    福尔摩鸡阅读 697评论 0 4
  • “并非他生性冷淡,不过是无法对你嘘寒问暖。” 当初这句话走红网络之时,不知道伤过多少颗感同身受的心。然而对于许多女...
    Eleven1314阅读 340评论 0 0
  • 学习一段时间色彩后 发现自己只喜欢鲜明的色彩 拿柏綠黄 薰衣草紫 纯绿 等等 吸引眼球的颜色总是那么欣喜,同时却发...
    玛莎Belle阅读 104评论 0 0