当前位置: 首页 > Linux

Linux的几种转发请求方案

时间:2023-04-06 22:36:09 Linux

前言我们在对接第三方的时候,难免会遇到白名单限制,限制了我们本地的开发环境,无法调用接口。很难完成整个业务流程。分析如下场景:比如第三方有一台机器,IP为1.1.1.1,端口为8080,官方环境为1.1.1.1:8080/pro/api,测试环境为1.1.1.1:8080/test/api,但是第三方机器不允许任何IP调用它们,它们只允许你这边的一台机器加入白名单。比如你线上某台机器的IP是2.2.2.2,已经加入白名单,是没有问题的。但是如果你想开发调用他们测试环境的API,你发现调用不了,在2.2.2.2上也写不出代码调试。解决跳板服务如果1.1.1.1不能直接调用,让2.2.2.2写一个服务作为跳板,即把我们的请求发给2.2.2.2,然后把2.2.2.2传给1.1.1.1Nginx原封不动转发这样就可以了比跳板服务简单得多。只要2.2.2.2开启nginxlisten8080;location/test/api/{proxy_pass1.1.1.1:8080;}端口映射不管是跳板服务还是nginx转发,我们的事情就多了。所以我们要换个思路。是2.2.2.2这台机器能不能帮我转发一下,充当中介。也就是我申请了2.2.2.2:8080,实际申请了1.1.1.1:8080。转发也可以使用iptables或者firewalld进行NAT转发,但是不了解原理会比较复杂。这里推荐一款工具,rinted,一行配置搞定转推。wgethttp://www.boutell.com/rinetd/http/rinetd.tar.gzmkdir/usr/man/vi/etc/rinetd.conf0.0.0.0707510.46.108.2257075本地端口7075转发到10.46。108.225:7075压缩,进入目录make&&makeinstallrinetd-c/etc/rinetd.conf读取映射转发配置使其生效SSH跳板机的补充扩展ssh转发也可以使用上面的方法,在这种情况下,假设你有十台机器。然后就可以使用端口转发请求,这样只需要一台机器作为跳板机,也是黑科技。当然还有更好的运维方式。0.0.0.02221A机器的IP220.0.0.02222B机器的IP220.0.0.02223C机器的IP220.0.0.02224D机器的IP22FTP转发...待补充总结总之,了解更多关于Linux,有时你可以利用你的Linux知识来解决业务问题。