摘要:实现过程把下面的配置保存成一个文件,例如,引入到的代理配置中去。再通过访问这台机器上的地址,就能跨域访问下所有非权限控制的资源和数据了。
实现过程
把下面的配置保存成一个文件,例如:nginx_cors,引入到Nginx的代理配置中去。
if ($request_method = "OPTIONS") { add_header "Access-Control-Allow-Origin" "*"; add_header "Access-Control-Allow-Methods" "GET, POST, PUT, PATCH, DELETE, OPTIONS"; add_header "Access-Control-Allow-Headers" "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type"; add_header "Access-Control-Max-Age" 1728000; add_header "Content-Type" "text/plain charset=UTF-8"; add_header "Content-Length" 0; return 204; } if ($request_method = "GET") { add_header "Access-Control-Allow-Origin" "*"; add_header "Access-Control-Allow-Methods" "GET, POST, PUT, PATCH, DELETE, OPTIONS"; add_header "Access-Control-Allow-Headers" "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type"; } if ($request_method = "POST") { add_header "Access-Control-Allow-Origin" "*"; add_header "Access-Control-Allow-Methods" "GET, POST, PUT, PATCH, DELETE, OPTIONS"; add_header "Access-Control-Allow-Headers" "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type"; } if ($request_method = "PUT") { add_header "Access-Control-Allow-Origin" "*"; add_header "Access-Control-Allow-Methods" "GET, POST, PUT, PATCH, DELETE, OPTIONS"; add_header "Access-Control-Allow-Headers" "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type"; } if ($request_method = "PATCH") { add_header "Access-Control-Allow-Origin" "*"; add_header "Access-Control-Allow-Methods" "GET, POST, PUT, PATCH, DELETE, OPTIONS"; add_header "Access-Control-Allow-Headers" "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type"; } if ($request_method = "DELETE") { add_header "Access-Control-Allow-Origin" "*"; add_header "Access-Control-Allow-Methods" "GET, POST, PUT, PATCH, DELETE, OPTIONS"; add_header "Access-Control-Allow-Headers" "DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type"; }
location ~* ^/ { proxy_pass http://www.jd.com; access_log /var/log/nginx/jd-access.log main; include /etc/nginx/nginx_cors; max_ranges 0; }
再通过访问Nginx这台机器上的地址,就能跨域访问www.jd.com下所有非权限控制的资源和数据了。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/82535.html
摘要:二跨域解决方案原理利用标签没有跨域限制的漏洞,网页可以得到从其他来源动态产生的数据。使用反向代理实现跨域,是最简单的跨域方式。 前言 前后端数据交互经常会碰到请求跨域,什么是跨域,以及有哪几种跨域方式,这是本文要探讨的内容。 本文完整的源代码请猛戳github博客,纸上得来终觉浅,建议动手敲敲代码 一、什么是跨域? 1.什么是同源策略及其限制内容? 同源策略是一种约定,它是浏览器最核心...
摘要:二跨域解决方案原理利用标签没有跨域限制的漏洞,网页可以得到从其他来源动态产生的数据。使用反向代理实现跨域,是最简单的跨域方式。 前言 前后端数据交互经常会碰到请求跨域,什么是跨域,以及有哪几种跨域方式,这是本文要探讨的内容。 本文完整的源代码请猛戳github博客,纸上得来终觉浅,建议动手敲敲代码 一、什么是跨域? 1.什么是同源策略及其限制内容? 同源策略是一种约定,它是浏览器最核心...
摘要:接下来我们开始编写自己的配置文件,实现指向的代理,并在请求中添加进行鉴权,同时在响应中添加跨域头,以满足跨域需求。在上面的配置文件中,用我们从创建的代替,用需要实现订阅的邮件列表的代替,而则是的后缀数字。 tl;dr nginx 既灵活方便,又功能丰富,可以帮助我们实现添加跨域头、URL 重写以及隐藏敏感信息等功能。本文介绍在使用 MailChimp进行邮件营销中遇到的一个普遍问题,分...
摘要:接下来我们开始编写自己的配置文件,实现指向的代理,并在请求中添加进行鉴权,同时在响应中添加跨域头,以满足跨域需求。在上面的配置文件中,用我们从创建的代替,用需要实现订阅的邮件列表的代替,而则是的后缀数字。 tl;dr nginx 既灵活方便,又功能丰富,可以帮助我们实现添加跨域头、URL 重写以及隐藏敏感信息等功能。本文介绍在使用 MailChimp进行邮件营销中遇到的一个普遍问题,分...
阅读 1940·2021-09-30 09:53
阅读 1775·2021-09-24 09:48
阅读 1721·2019-08-30 14:01
阅读 2140·2019-08-29 18:35
阅读 1223·2019-08-26 18:27
阅读 2934·2019-08-26 12:12
阅读 915·2019-08-23 17:16
阅读 878·2019-08-23 15:31