美文网首页网络already
【代理】通过DMZ区网络工具代理应用区第三方接口访问

【代理】通过DMZ区网络工具代理应用区第三方接口访问

作者: 放纵不基 | 来源:发表于2022-05-26 00:00 被阅读0次

一、背景

环境分为 DMZ区、应用区和数据区。

只有DMZ 区的服务器能联网,应用区工程需要调用第三方接口需要访第三方的公网地址,只能通过DMZ区做一个代理去访问了。

二、 代理使用

1. 四层代理

在DMZ区服务器安装rinetd

# vim /etc/yum.repos.d/nux-misc.repo

[nux-misc]
name=Nux Misc
baseurl=http://li.nux.ro/download/nux/misc/el7/x86_64/
enabled=0
gpgcheck=1
gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
image.png
# yum  -y install  rinetd  --disablerepo="*"  --enablerepo=nux-misc
image.png
# rpm -ql  rinetd

# cat  /etc/rc.d/init.d/rinetd

# cat /etc/rinetd.conf

# /usr/sbin/rinetd  --help

#  /usr/sbin/rinetd  -v
rinetd 转发规则语法如下:

bindaddress         bindport         connectaddress      connectport
源地址              源端口           目的地址             目的端口


# vim  /etc/rinetd.conf

0.0.0.0  2195    gateway.push.apple.com          2195
0.0.0.0  2196    gateway.sandbox.push.apple.com  2196
0.0.0.0  443     api.xmpush.xiaomi.com           443
#  systemctl  start  rinetd
#  systemctl  enable  rinetd
#  systemctl  status  rinetd

在应用区服务

添加hosts ,将第三方地址统一解析到 代理服务器ip

#vim  /etc/hosts

xx.xx.xx.xx    gateway.push.apple.com 
xx.xx.xx.xx    gateway.sandbox.push.apple.com 
xx.xx.xx.xx    api.xmpush.xiaomi.com 

注: xx.xx.xx.xx 为DMZ区代理服务器ip。

2. 七层代理

在DMZ区服务器安装squid

# yum  -y  install epel-release
# yum  -y  install squid 
# vim /etc/squid/squid.conf

配置参数,端口默认3128


image.png
# systemctl start squid.service
# systemctl status squid.service
# systemctl enable squid.service
image.png

在应用区服务器设置OS层代理

# vim /etc/profile
##########################################################
export HTTP_PROXY="xx.xx.xx.xx:3128"
export HTTPS_PROXY="xx.xx.xx.xx:3128"
export NO_PROXY="localhost,127.0.0.1,10.0.0.0/8,192.168.0.0/16"
##########################################################
# source  /etc/profile

作为应用层代理,设置OS层代理,测试其他地址的端口连通性,似乎不行

telent  www.baidu.com  443
echo > /dev/tcp/www.baidu.com/443

但是 curl www.baidu.com 是能正常返回的。

在应用区服务器设置JVM层代理

示例:

$  java   \
-Dhttp.proxyHost=xx.xx.xx.xx \
-Dhttp.proxyPort=3128 \
-Dhttp.proxyUser=username \
-Dhttp.proxyPassword=password  \
-Dhttp.nonProxyHosts="localhost|127.0.0.1|www.example.com" \
-jar myJar.jar

注: xx.xx.xx.xx 为DMZ区代理服务器ip。

三、参考

内网Linux服务器如何通过代理方式访问外网
https://blog.csdn.net/q121365405/article/details/122267701

Linux设置http/https proxy及忽略proxy的方法
https://www.cnblogs.com/marklove/p/10805432.html

CentOS7.x上轻量级TCP转发工具rinetd的安装配置
https://www.jianshu.com/p/2605d247b944

How do I set the proxy to be used by the JVM?
https://www.jianshu.com/p/ca03a945ecba

相关文章

  • 【代理】通过DMZ区网络工具代理应用区第三方接口访问

    一、背景 环境分为 DMZ区、应用区和数据区。 只有DMZ 区的服务器能联网,应用区工程需要调用第三方接口需要访第...

  • iptables简单配置DMZ

    要求 内网可以访问外网 内网可以访问DMZ区 外网不能访问内网 外网能访问DMZ区的服务 DMZ区不能访问内网 D...

  • 记一次修复中文乱码的痛苦经历

    简单的介绍下背景,APP访问服务器,需要经过部署在DMZ(非军事冲突区)的代理,最近有个需求需要使用get请求方式...

  • ngnix的简单配置

    ngnix配置代理接口 通过上面的配置就可以实现后端代理接口,前端静态资源的访问 windows下启动停止Nginx服务

  • 5分钟弄懂动态代理

    代理模式 用途:控制对象的访问,或者增强对象功能简单来说就是代理对象通过组合的方式获得被代理对象,且实现相同接口。...

  • 代理模式

    ◆ 使用者无权访问目标对象◆ 中间加代理,通过代理做授权和控制 应用场景:◆ 网页事件代理◆ jQuery $.p...

  • DMZ

    一、什么是DMZ? DMZ(非军事区)起源于军事,是介于严格军事区和控制松散的公共区之间的部分控制区,DMZ 充当...

  • 代理模式(Proxy)

    代理模式:为其他对象提供一种代理以控制对这个对象的访问。 类型 结构型 用途 隐藏 Copy-On-Write 区...

  • 企业级容器云平台建设之功能汇总

    多集群管理与运维 多区建设(DMZ/业务区/核心区) 应用商店(模板管理、Operator管理等) 集群监控、告警...

  • 代理设置

    终端代理设置 wget设置代理 curl 设置代理 git 设置代理 ssh 代理 nc命令 网络工具 digns...

网友评论

    本文标题:【代理】通过DMZ区网络工具代理应用区第三方接口访问

    本文链接:https://www.haomeiwen.com/subject/horyprtx.html