上海办公室api.taobao.com域名的访问说明

简介:

我们的测试部门经常需要在淘宝的工具页面上测试api接口调用情况。但是淘宝对api调用有一个白名单限制,一个appkey只允许相应的白名单里的ip地址去调用。所以我们必须伪装一下自己的请求,让它看起来是来自于白名单里的IP。

最简单的方式就是走http代理了。但是在测试中发现,走代理后,淘宝依然能解析到真实IP。这是由于http代理服务器转发请求的时候,会加入一些 X-FORWARDED 相关的字段,标明原始请求IP。淘宝可能是通过这个来发现我们的真实IP的。所以我们需要设置一下http代理去掉这个字段。

 

但问题在于,在做这种设置后,只有通过淘宝SDK 做的调用才正常,通过淘宝tool工具页面调用的依然提示ip地址不允许。

通过分析请求发现, sdk 调用的请求数据比较精简,只包含api业务相关的信息(比如 appkey,secret等),这样的话,走不走代理淘宝检测不出来(当然,这里指的是在代理服务器不加入一些X-FORWARDED等信息字段的情况下),所以顺利调用了。

而工具页面的请求数据比较复杂,有很多不明字段,可能这些字段里的信息帮助淘宝解析到我们的请求走过代理?不过这次它解析出的ip也不是我们的真实IP了,而是淘宝的内部IP。。所以也可能是一个淘宝的bug。

 

只好换一种方法。实际上只要请求过去的时候源 ip 是淘宝允许的地址就行,这个可以通过 linux 的 iptables 来做到。

比如: 在我们的白名单服务器 223.5.20.18 ( dmz到内部ip 192.168.100.1) 上配置两条规则:

 

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 110.75.26.154

iptables -t nat -A POSTROUTING -p tcp --dport 80 -d 110.75.0.0/16 -j SNAT --to-source 192.168.100.1

 

然后,在办公室的路由器上做一条域名转发,把 api.taobao.com 解析到 223.5.20.18 。

 

做好后应该就可以在工具页面正常调用了。

 

具体过程是:请求发送到 223.5.20.18 服务器的 80 端口, 服务器根据 iptables 的DNAT规则把请求目标地址改成 110.75.26.154 (淘宝的api服务器), 然后根据SNAT规则把 请求源地址 换成 服务器本身的ip ( 由于dmz的关系,这里是192.168.100.1 )。淘宝接到请求,发现源ip是 223.5.20.18,在白名单里头,顺利通过,返回响应给 223.5.20.18,之前的路径反过来走一遍,调用成功。



本文转自 Bruceweien 51CTO博客,原文链接:http://blog.51cto.com/bruceweien/1932407

相关文章
|
9月前
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
496 26
|
10月前
|
存储 API 数据安全/隐私保护
使用宝塔搭建MinIO并且设置域名访问
本文介绍了如何使用宝塔面板搭建MinIO并设置域名访问的完整流程。首先通过宝塔面板安装Docker及MinIO,配置域名与端口,完成Web管理界面的部署。接着,创建存储桶、配置访问规则和API密钥,实现资源的安全管理。最后,通过反向代理设置API接口,测试文件上传功能,确保MinIO可用于图片和文件资源的存储。作者Harry技术还分享了相关开源项目,适合开发者快速上手。
2033 2
使用宝塔搭建MinIO并且设置域名访问
|
API 数据安全/隐私保护 UED
探索鸿蒙的蓝牙A2DP与访问API:从学习到实现的开发之旅
在掌握了鸿蒙系统的开发基础后,我挑战了蓝牙功能的开发。通过Bluetooth A2DP和Access API,实现了蓝牙音频流传输、设备连接和权限管理。具体步骤包括:理解API作用、配置环境与权限、扫描并连接设备、实现音频流控制及动态切换设备。最终,我构建了一个简单的蓝牙音频播放器,具备设备扫描、连接、音频播放与停止、切换输出设备等功能。这次开发让我对蓝牙技术有了更深的理解,也为未来的复杂项目打下了坚实的基础。
566 58
探索鸿蒙的蓝牙A2DP与访问API:从学习到实现的开发之旅
|
11月前
|
API
钉钉宜搭--远程API,在其他人访问时无法生效
简介: 描述了一种远程API配置问题的场景。开发人员在本地可正常通过应用表单获取数据,但同组织的其他同事访问时无法获取数据,尽管已设置全部权限。问题是关于如何解决这种跨用户数据访问异常的情况,确保同事间能正常共享数据。
|
11月前
|
安全 网络协议 网络安全
只有IP地址没有域名,如何实现HTTPS访问?
在仅有IP地址而无域名的情况下,实现HTTPS访问并非不可能。主要挑战包括证书颁发机构(CA)对IP地址的支持有限及浏览器兼容性问题。解决方案有:1) 搭建私有CA为内部IP地址颁发证书;2) 使用支持IP地址的公共CA服务。选择合适的方案需根据需求权衡。具体步骤包括选择证书类型、生成CSR文件、提交并完成验证、安装SSL证书和配置强制HTTPS访问。确保IP地址稳定,并定期维护安全性。 **申请优惠**:访问JoySSL官网并填写注册码“230907”可优惠申请IP地址证书。
1901 5
|
11月前
|
域名解析 弹性计算 应用服务中间件
使用域名访问部署在ECS上的网站
本文为您介绍如何为网站配置域名并为域名配置HTTPS证书。
|
缓存 算法 API
查询域名WHOIS信息免费API接口教程
该API用于查询顶级域名的WHOIS信息,不支持国别域名和中文域名。通过POST或GET请求,需提供用户ID、KEY及待查询域名。返回信息包括域名状态、注册商、时间等详细数据。示例与文档见官网。
1054 5
|
网络协议 安全 文件存储
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问
动态DNS(DDNS)技术在当前网络环境中日益重要,它允许使用动态IP地址的设备通过固定域名访问,即使IP地址变化,也能通过DDNS服务保持连接。适用于家庭网络远程访问设备及企业临时或移动设备管理,提供便捷性和灵活性。示例代码展示了如何使用Python实现基本的DDNS更新。尽管存在服务可靠性和安全性挑战,DDNS仍极大提升了网络资源的利用效率。
1949 6
|
负载均衡 数据可视化 API
像素流送api ue多人访问需要什么显卡服务器
本文总结了关于像素流送技术的五大常见问题,包括是否支持Unity模型推流、UE多人访问的最大并发数、所需服务器配置、稳定性问题及API支持情况,旨在帮助开发者更好地理解和应用这一技术。
548 1
如何申请微店的API访问权限?
申请微店API访问权限需先注册账号并完成实名认证,随后提交开发申请,学习API接口,实现功能和数据传输,申请授权获取API Key,测试接口,最后正式上线并持续维护优化。