正向代理访问腾讯云cos时http405的问题

当使用正向代理请求cos资源的时候,cos对http协议的支持会比较严谨,“宽容性”不够。可能对http协议更加谨慎一点反而更好吧

响应405的请求细节

GET http://nfs-test.cosgz.myqcloud.com/user_logo/1000293461_50x50.jpg?sign=testsign HTTP/1.1
Host: nfs-test.cosgz.myqcloud.com
User-Agent: curl
Accept: */*

HTTP/1.1 405 Error
Server: TencentCOS
Content-Type: text/octet
ServerIP: 127.1.1.1
Content-Length: 78

{"errorcode":-46152,"errormsg":"bucket name has illegal char, retcode:-46152"}

正常的请求应该是

GET /user_logo/1000293461_50x50.jpg?sign=testsign HTTP/1.1
User-Agent: curl/7.29.0
Host: nfs-test.cosgz.myqcloud.com
Accept: */*

当使用有的正向代理的时候,头部GET部分会跟正常的请求不一样,而cos的服务只认第二种写法(标准的http协议),当然有一些站点就兼容第一种的写法:look

* Rebuilt URL to: www.baidu.com/
*   Trying proxy-ip...
* Connected to  proxy-ip ( proxy-ip) port 8090 (#0)
* Proxy auth using Basic with user 'mom'
> GET http://www.baidu.com/ HTTP/1.1
> Host: www.baidu.com
> Proxy-Authorization: Basic uuuuuuuuuuuuu
> User-Agent: curl
> Accept: */*
> 
< HTTP/1.1 200 OK
< Accept-Ranges: bytes

如果还是用http,1.1的协议,正向代理必须开启通道模式,这样正向代理的get头部拼装就会停止,访问cos就正常了,比如这样

curl -v --proxy "proxy-ip:8090"   --proxytunnel "http://nfs-test.cosgz.myqcloud.com/user_logo/1000293461_50x50.jpg?sign=your-sign"

或者直接使用Https协议

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏cmazxiaoma的架构师之路

FastDFS蛋疼的集群和负载均衡(五)之tracker配置反向代理

1342

Kubernetes的服务网格(第2部分):Pods目前看来还是很棒的

在我们最近关于Kubernetes的序列,Kubernetes的服务网格,第一部分:顶级服务质量一文中,细心的读者注意到,linkerd是使用DaemonSet...

2166
来自专栏phodal

如何以“正确的姿势”阅读开源软件代码

之前想过写这篇文章,但是没有想到一个好的内容、好的突破点。在《GitHub 漫游指南》指南里,我们提到过《如何在GitHub“寻找灵感(fork)”》,但是并不...

19710
来自专栏智能计算时代

Envoy架构概览(8):统计,运行时配置,追踪和TCP代理

统计 特使的主要目标之一是使网络可以理解。特使根据配置如何发出大量的统计数据。一般来说,统计分为两类: 下游:下游统计涉及传入的连接/请求。它们由侦听器,HTT...

4125
来自专栏zhangdd.com

linux服务器性能检测工具nmon使用

今天介绍一款linux系统服务器性能检测的工具-nmon及nmon_analyser (生成性能报告的免费工具),亲测可用。 一.介绍 nmon 工具可以帮...

2343
来自专栏撸码那些事

使用缓存的正确姿势

1366
来自专栏互联网杂技

利用机器学习把草图自动生成HTML

项目地址 https://github.com/ashnkumar/sketch-code 可以先clone到本地

952
来自专栏杨建荣的学习笔记

浅谈Orabbix监控指标(r6笔记第27天)

对于Orabbix监控Oracle来说,它是提供了一个相对轻量级的客户端来综合监控多个数据库实例。从这一点来看,它的角色有点类似于工作中使用的SQLDevelo...

4219
来自专栏州的先生

使用Python对HTTP摘要认证进行暴力测试

1523
来自专栏陈满iOS

iOS开发技巧·傻瓜式从工程文件导出类关系图(UML) -- OmniGraffle方案

前言:一些复杂的工程可以通过查看工程的UML图快速分析个各个类之间的关系。当然,网上也有很多其它的方案,不过要么设置麻烦,要么用最新版本Xcode并不支持的插件...

2002

扫码关注云+社区