嚼着炫迈去追梦
2021-08-11 14:28
采纳率: 50%
浏览 121

使用spring cloud gateway作流量转发,转发后图片图片不能正确显示

使用spring cloud gateway 作流量转发,配置如下:

spring:
  cloud:
    gateway:
      default-filters: #全局用于配置所有路由共享过滤器
        - PreserveHostHeader #发送原主机头
      globalcors:
        cors-configurations:
          '[/**]': # 匹配所有请求
            allowedOrigins: "*" #跨域处理 允许所有的域
            allowedMethods: # 支持的方法
              - GET
              - POST
              - PUT
              - DELETE
      routes:
        - id: product_route
          uri: http://192.168.0.101:8080
          order: 1
          predicates:
            - Path=/**

配置之后实现访问此gateway时所有流量转发到192.168.0.101:8080,js、css等资源正常加载,图片资源虽然响应为200,但是无法正常显示。请问如何解决?
请求头如下:

Accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: no-cache
Connection: keep-alive
Host: localhost:9001
Pragma: no-cache
Referer: http://localhost:9001/static/css/chunk-66d1aff0.592c2027.css
sec-ch-ua: "Google Chrome";v="89", "Chromium";v="89", ";Not A Brand";v="99"
sec-ch-ua-mobile: ?0
Sec-Fetch-Dest: image
Sec-Fetch-Mode: no-cors
Sec-Fetch-Site: same-origin
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36

响应头如下:

Accept-Ranges: bytes
Content-Length: 22278
Content-Type: image/png
Date: Wed, 11 Aug 2021 06:16:04 GMT
ETag: "60e2fa9d-369b"
Last-Modified: Mon, 05 Jul 2021 12:27:09 GMT
Server: nginx/1.19.4
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Frame-Options: SAMEORIGIN

其中,我发现不经过流量转发直接访问图片资源时,响应的Content-Length大小并不等于经过流量转发得到的大小,不知道怎样才能使图片正常显示!

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • a1767028198 2021-08-11 14:35

    抓包看看content-type是不是img呗

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题