请求网站出现no-referrer-when-downgrade
·
问题说明:
浏览器发起请求时无响应,Network显示: no-referrer-when-downgrade
显示如下图:
原因分析:
- no-referrer-when-downgrade的意思是:降级时不推荐。
从一个网站链接到另外一个网站会产生新的http请求,referrer是http请求中表示来源的字段。
-
此时我们按F12查看Console,截图如下:

出现 by CORS policy, 此为跨域问题。 -
什么是跨域:
跨域是指跨域名的访问,以下情况都属于跨域:
| 跨域原因说明 | 示例 |
|---|---|
| 域名不同 | www.jd.com 与 www.taobao.com |
| 域名相同,端口不同 | www.jd.com:8080 与 www.jd.com:8081 |
| 二级域名不同 | service.jd.com 与 goods.jd.com |
解决方案:
目前针对跨域问题大致有三种解决方案,分别为jsonp,nginx反向代理及CORS跨域方案。
这里我推荐使用第三种方案,即CORS跨域方案。
只需要在application.yml文件中按如下配置即可:
spring:
application:
name: api-gateway
cloud:
gateway:
globalcors:
add-to-simple-url-handler-mapping: true
corsConfigurations:
'[/**]':
allowedOrigins:
- "http://manage.leyou.com" // 此处为需跨域的地址
allowedHeaders:
- "*"
allowCredentials: true
maxAge: 360000
allowedMethods:
- GET
- POST
- DELETE
- PUT
- OPTIONS
- HEAD
routes:
- id: item-service # 路由id,可以随意写
# 代理的服务地址;lb表示负载均衡(从eureka中获取具体服务)
uri: lb://item-service
# 路由断言,可以配置映射路径
predicates:
- Path=/api/item/**
filters:
# 表示过滤1个路径,2表示两个路径,以此类推
- StripPrefix=2
配置好之后我们重启服务,刷新浏览器,再次查看,发现请求成功。

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)