隧道代理接入说明
发布时间: 2022-05-23 14:57:50
阅读量: 1727 人次
产品说明
隧道代理提供统一的入口地址,用户成功接入后,每一个请求都是一个随机IP。
隧道验证方式
目前隧道支持两种授权验证模式:
1 请求头验证
通过用户名/密码的形式进行身份认证,该认证信息最终会转换为『Proxy-Authorization』协议头跟随请求一起发送给隧道代理服务器(注:该请求头不会发送给目标服务器)。每一条HTTP隧道都拥有独立的实例账号,即“实例id:实例密码”,可在产品管理页面查看,通过浏览器使用HTTP隧道,请设置浏览器代理的服务器地址及端口。设置并保存配置后,在浏览器中打开任意网址,会弹出一个授权验证窗口,输入隧道的“实例id” 及 “实例密码” 后,确认即可。在代码中使用HTTP隧道时,如果代码的HTTP请求方法不支持以用户名/密码的形式设置身份认证信息,则需要手动为每个HTTP请求增加『Proxy-Authorization』协议头,其值为 『Basic<base64>』。其中『<base64>』为 “实例id” 和 “实例密码” 通过 『:』 拼接后,再经由BASE64 编码得到的字符串。
注意:
- 正确设置后,发出的请求都将包含如下格式的HTTP协议头信息:
- Proxy-Authorization: Basic MTIzNDU2Nzg5MDEyMzQ1Njc4OmFiY2RlZmdo
2 绑定IP验证
只须绑定用户发起请求的服务器IP即可。一条隧道最多绑定5个IP,同一IP可以分别绑定到短效版、动态转发版隧道各一条。
自动绑定终端IP接口:https://api.sshttp.cn/app/bindIp?appKey=实例id&appSecret=实例密码&i=序号(1-5,默认1)
说明:如果终端IP不是固定IP,并且采用绑定IP验证模式的话,建议定时调用该接口,一旦终端IP发生变化,隧道会自动绑定新的终端IP。
自动绑定终端IP接口:https://api.sshttp.cn/app/bindIp?appKey=实例id&appSecret=实例密码&i=序号(1-5,默认1)
说明:如果终端IP不是固定IP,并且采用绑定IP验证模式的话,建议定时调用该接口,一旦终端IP发生变化,隧道会自动绑定新的终端IP。
隧道代理服务器地址
版本 | 代理服务器地址 | 端口 |
---|---|---|
隧道代理(1分钟版) | one-tun.sshttp.cn | 3200 |
隧道代理(每次请求换IP版) | dyn-tun.sshttp.cn | 3100 |
代理IP手动切换方式(仅限1分钟版)
在HTTP请求中增加键为『Proxy-Switch-Ip』,值为『true』的协议头信息,实例程序将请求通过隧道发出后,HTTP隧道会立刻切换一个新的IP,当前请求和随后发起的请求都会通过新的 IP地址进行转发。注意:
- Java8以上版本,请在运行的时候,加上-Djdk.http.auth.tunneling.disabledSchemes=""。
- 使用Python2 的示例代码访问 HTTPS 协议的 URL 会有问题,建议使用 Python3。
常见错误码
错误码 | 提示信息 | 说明 |
---|---|---|
407 | No Proxy-Authorization or Authorization can be found | 请设置请求头Proxy-Authorization或者Authorization |
407 | Appkey is not a number | appkey必须是数字 |
407 | Not found | 实例不存在 |
407 | Disabled | 实例已被禁用 |
407 | Expired | 实例已过期 |
407 | Not found or expired | 实例不存在或已过期 |
407 | Wrong password | 密码错误 |
407 | Proxy type mismatch | 产品类型不匹配 |
429 | Too Many Requests | 超过并发限制,请降低频率或者使用调整隧道代理套餐 |
500 | Unknown exception | 未知异常 |