代理对交易所的请求(备用)
描述
DV Merchant 支持代理对交易所 API 的请求以获取货币汇率。这在以下情况下很有用:
- 对交易所 API 的直接访问被阻止(通过防火墙或地理封锁)。
如果直接连接不可用,应用程序会自动切换到代理。如果直接连接不可用,应用程序会自动使用配置的代理。
如果可以直接访问交易所,则不使用代理,即使在配置中指定了代理。
注意: 可以在文件
/home/dv/merchant/configs/config.template.yaml或 GitHub 存储库中找到配置示例。
快速入门
1. 打开配置文件
bash
sudo nano /home/dv/merchant/configs/config.yaml2. 使用您的代理服务器添加 proxies 参数
yaml
exrate:
fetch_interval: 1m0s
timeout: 10s
proxies:
- http://username:password@proxy1.example.com:8080
- http://username:password@proxy2.example.com:8080
- socks5://username:password@proxy3.example.com:10803. 重新启动服务
bash
sudo systemctl restart dv-merchant4. 检查状态
bash
# 检查服务状态
sudo systemctl status dv-merchant
# 查看日志
sudo journalctl -u dv-merchant -n 505. 在应用程序界面中

工作原理
1. 尝试直接连接
应用程序首先尝试直接连接到交易所 API:
DV Merchant → api.exchange.com2. 失败时使用代理
如果直接连接失败,应用程序会自动尝试列表中的代理:
DV Merchant → 代理 1 → api.exchange.com ✅3. 错误时轮换
如果第一个代理不可用,则自动使用下一个代理:
DV Merchant → 代理 1 ❌ (错误)
↓
→ 代理 2 → api.exchange.com ✅验证操作
查看日志
bash
# 所有汇率服务日志
sudo journalctl -u dv-merchant -f | grep EXRATE
# 仅代理信息
sudo journalctl -u dv-merchant -f | grep proxy
# 仅错误
sudo journalctl -u dv-merchant -f | grep '"level":"error"'常问问题
问:我可以使用公共免费代理吗?
答:不建议。免费代理不可靠、速度慢,并且可能构成安全风险。
问:我如何知道当前正在使用哪个代理?
答:检查日志:sudo journalctl -u dv-merchant -f | grep proxy
问:如果没有阻塞,我需要配置代理吗?
答:不,代理是可选的。如果可以直接访问交易所,应用程序可以在没有代理的情况下工作。
问:代理可以用于其他请求,而不仅仅是交易所吗?
答:不,当前的实现仅将代理用于对交易所的汇率请求。
问:使用代理会影响性能吗?
答:是的,略有影响。通过代理的请求通常比直接请求慢。
问:如果所有代理都失败了怎么办?
答:应用程序将继续使用缓存数据工作。缓存 TTL 约为 10 分钟。
支持
如果您遇到任何问题:
- 检查日志:
sudo journalctl -u dv-merchant -n 100 - 查看上面的常见问题解答部分
- 联系技术支持:https://dv.net/#support
- 在 GitHub 上创建问题:https://github.com/dv-net/dv-merchant/issues