一些小问题的处理--生产系统与测试系统共存

一、前言

上次[jumpServer特殊案例之用nginx代理实现异地内网访问]: https://www.qipanet.com/itClass/285.html 中有提到有些小问题没处理,主要是跟jumpServer没太大关系,这里就单独拿出来聊聊。甲方需求是把通过备份还原系统将备份数据(系统级备份)一一还原到目标Esxi里做测试,不能与现有的生产系统有任何冲突。测试的时候都需要通过 jumpServer来做跳板,分别连接到测试系统和生产系统。

image-20231021004950368image-20231021004950368

jumpServer特殊案例之用nginx代理实现异地内网访问

jumpServer奇葩案例之用nginx反向代理实现异地内网访问

一、背景

本来处理完 [jumpServer windwos RDP网络不可达、安全策略错误]: https://www.qipanet.com/itClass/284.html 之后,应该算完事了。但是刚想走人,甲方爸爸又说要在子公司内网能访问,并且出于保密需要,不希望给下属公司知道上级公司的公网IP以及相关端口信息。了解完需求后,给我的第一反应是这个需求真的奇葩啊。不管了,反正给加$就好办:smile:。

环境大概这样:总公司、子公司出口都有防火墙,总公司jumpServer和子公司的linux系统都部署在esxi上,子公司人员只能先访问linux,由linux

nginx转caddy之proxy_pass转换

nginx中转发某个后端应用,配置如下:

location  /web/sys/Login/ {
            proxy_pass http://ip:9999/back/sys/tLogin/;
        }

从配置可以看到,所有匹配了/web/sys/Login/的路径都会被转发到http://ip:9999/back/sys/tLogin/,即使==/web/sys/Login/==后面有xxx也会被转发,也会带上。比如/web/sys/Login/dingtalk/callback?code=xxx,转发到后端时,路径会变成 http://ip:9999/back/sys/tLogin/callback?code=xxx

但是在caddy中,如果只是简单的将proxy_pass改为reverse_proxy,那么很不幸你将会在caddy日志里看到如下报错:

Error during parsing: for now, URLs for proxy upstreams only support scheme, host, and port components

大概意思是reverse_proxy暂不支持主机或端口后带路径的写法,查了一圈官方文档,再试了rewrite和uri两个指令,再不断抓包测试,终于实现完美转换,最终配置如下:

用cerbot自动更新docker里caddy的证书

用cerbot自动更新docker里caddy的证书

一、背景

一个小项目,使用了ssl加密访问web服务。之前用nginx+zeroSSl来免费白嫖证书,每三个月换一次,用了大概一年左右,这次再续期时,竟然提示我You have reached the maximum amount of 90-day certificates allowed on the Free Plan.。好家伙,不给你玩了!

image-20230909230913151image-20230909230913151

为了这不赚钱的小项目去买证书是不可能的,转caddy去,之前用v2xx+caddy+ssl搭建科学上网就很好的解决了证书问题。不过那都是在主机里运行的,这次有点不一样,caddy是运行在docker里的。

华为USG防火墙RESTCONF的坑--终端IP白名单的设置

华为USG防火墙RESTCONF的坑--终端IP白名单的设置

项目《golang操作华为防火墙ACL实现远程启停》做完后,突然想起RESTCONF接口还没做IP白名单限制呢,会不会所有WAN口的IP都能访问到默认的8447端口?于是找了台云主鸡TELNET测试,果然所有WAN口都能正常访问8447端口。

一、临时解决

外网口设置处,看了下访问管理,只有NETCONF可选,没RESTCONF。然后想起之前在帐号管理处有个受信任主机设置选项,应该可以设置。果然,经过测试后发现默认没设置白名单时,所有主机都能访问,设置后只有白名单的IP才能通过验证。虽然外网不能登录,但是我感觉这个端口开着总有点不放心,而且我只需要内网访问,能不能对外屏蔽这个API端口呢?