解决HTTP协议API中域名变更后,已部署设备无法数据上传问题

HTTP协议API中包含域名

通过http://api_domain.com/xxx/xxx/xxx/xxx上传数据到WEB服务器。

变更前

api_domain.com 绑定在2xx.xxx.xxx.xxx上面。2xx.xxx.xxx.xxx部署了需要访问的WEB服务。

变更后

new_domain.com 绑定给了2xx.xxx.xxx.xxx上面。要访问的WEB服务依然部署在此IP上。
api_domain.com 绑定给了其它的服务器:1xx.xxx.xxx.xxx

问题出现

已经部署的设备再利用旧的API访问WEB服务就不可能访问到。
在不改变已经部署设备的情况下,有两种解决方案。

  1. 对API域名做跳转服务。
  2. 就是双域名绑定同IP。

使用跳板机来实现的优缺点

  • 优点
    • api_domain.com还是绑定在1xx.xxx.xx.xxx上面,不需要重新申请域名。
  • 缺点
    • 需要确保两台服务器都正常运行,才能访问到WEB服务。即1xx.xxx.xxx.xxx2xx.xxx.xxx.xxx两台服务器,都需要确保正常。关一台服务器都不行。

使用双域名绑定同一IP的优缺点

  • 优点
    • 仅需要维护两个域名和一台服务器,即可保证服务正常运行。
    • 通过两个域名都可以访问到web服务。削弱迭代导致的差体验感。
  • 缺点
    • 需要同时运维两个域名。一个域名失效就会导致web服务出现问题。

本文仅做比较复杂的跳转服务的配置。

使用跳板机来实现

服务端的配置

登录到中转服务器:
中转服务器信息:
域名:api_domain.com
IP: 1xx.xxx.xxx.xxx

配置frps.ini
[common]
# frps服务端口
bind_port = 2xxxx1
# frps服务ui端口
dashboard_port = 2xxxx2
# web跳转端口
vhost_http_port = 80

dashboard_user = xxxxx
dashboard_pwd = xxxxx

log_file = ./frps.log

log_level = info

log_max_days = 7

token = 123456
配置service服务
  • 查看解压文件夹中的systemd/frps.service文件,按照文件中配置的位置,转移相关文件到指定位置。并修改操作者,使其具备比如写log文件等的权限。

  • [Unit]
    

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部