某网络环境下访问业务异常问题排查

小丫1年前技术文章387

问题现象

在办公网络环境下访问业务:http://xxx服务,无法正常跳转至登陆页面,如下:

image.png

但是在另外一台机房服务器访问业务:http://xxx 是正常的,会自动跳转到登陆页面,如下:

1.jpg

排查步骤

1、查找是否有报错接口

远程运维同事电脑,在办公网络环境下再次测试访问,复现问题。

首先还是使用浏览器开发者工具,查看是否有资源加载异常报错

image.png

可以看到部分资源请求异常,加载异常的资源地址格式为:http://xx/xxx

在办公网络环境下ping这个域名,查看解析的ip:

image.png


可以看到内网办公网络环境下ping解析到的地址。

而该IP地址即为后端提供服务的服务器的地址。而该服务器上运行的服务区为8081端口,不存在80端口监听。

image.png

为什么在机房服务器访问就是正常的呢?

登陆机房服务器,ping域名:xxxx,可以看到解析出来的为一个公网IP。即机房网络和办公网络访问目标业务的时候,走的流量链路是不一样的。

image.png

解决方法

如果想让办公网络环境走内网链路访问正常,并且不变更后端代码。

可以通过找台内网机器然后配置代理的方式解决。

1)配置代理,前端代理端口为80,后端源站信息为:xxxx 端口。

2)然后将域名 解析到代理服务器的IP。

3)代理中需要配置允许跨域访问,来源建议直接写*即可。


haproxy代理配置可参考如下内容:


  frontend application_fztzuat


    bind *:80


    bind *:443 ssl crt /etc/pki/tls/certs/xx.pem  


      http-request set-header Access-Control-Allow-Origin * 


      mode http      


      acl domain_fztzuat  hdr_beg(host) -i [xxx](http://xxxx) 


      use_backend fztzuat  if domain_fztzuat   


  backend fztzuat  #后端服务器集群配置


    mode http


    balance roundrobin  #后端负载均衡策略


    server web01 xxx:xx


相关文章

MySQL 自增列使用上的一些 “坑”

MySQL 自增列使用上的一些 “坑”

前言MySQL 的规范中,一般都会建议表要有主键,常使用自增列作为主键字段,这和 MySQL 属于聚簇索引表有关,顺序增长的主键比较合适。最近有研发咨询,为什么有张表的自增主键变的非常大?而且偶尔还出...

rabbitmq-监控告警

rabbitmq-监控告警

插件安装rabbitmq_prometheus这个插件包含在RabbitMQ3.9.x版本中。与所有的插件一样,必须启用它才能使用;在node1,node2,node3 三台机器上执行如下命令:rab...

MySQL 切换主备(三)

MySQL 切换主备(三)

三、切换主备:3.1、确认主库角色查看 vip 状态,目前在主库上面。3.2、确认备库角色此时备库read_only=1只读不写查看数据库读写状态:show global variables like...

ReadConcern与WriteConcern

一、ReadConcern1、ReadConcern vs ReadPreferenceReadPreference 主要控制从副本集哪个节点来读取数据,该参数可以实现读写分离、就近读取的功能prim...

prometheus黑盒监控

prometheus黑盒监控

一.背景黑盒监控:主要关注的现象,一般都是正在发生的东西,例如出现一个告警,业务接口不正常,那么这种监控就是站在用户的角度能看到的监控,重点在于能对正在发生的故障进行告警。二.操作前了解相关配置和要求...

MySQL运维实战(4.3) SQL_MODE之ONLY_FULL_GROUP_BY

设置ONLY_FULL_GROUP_BY后,对有group by子句SQL,select的字段要么是group by中的字段,要么对字段进行聚合运算,否则sql执行报错。不设置ONLY_FULL_GR...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。