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

小丫2年前技术文章857

问题现象

在办公网络环境下访问业务: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 keepalived安装配置(二)

MySQL keepalived安装配置(二)

一、keepalived安装配置1.1、主备库安装keepalived服务:yum install -y keepalived yum install -y python MySQL-python1...

hive元数据迁移

hive元数据迁移

一、在新集群中创建hive数据库,作为新集群中的元数据库。注意点:创建hive数据库时注意用户和用户的权限及使用的编码格式一致。查看旧集群中角色权限和编码格式,在新的hive元数据库中设置相同的角色权...

Trino对接haproxy开启ssl

Trino对接haproxy开启ssl

1、背景客户在开启https后,在高并发的情况下,集群性能下降严重。初步估计是由于worker和Coordinator交互都需要进行加密和解密,会提高cpu使用率,导致服务变慢。现在采用haproxy...

数据湖技术之iceberg(十)Structured Streaming实时写入Iceberg

数据湖技术之iceberg(十)Structured Streaming实时写入Iceberg

目前Spark中Structured Streaming只支持实时向Iceberg中写入数据,不支持实时从Iceberg中读取数据,下面案例我们将使用Structured Streaming从Kafk...

MySQL系统空间上涨

MySQL系统空间上涨

系统空间上涨一、介绍MySQL 的 ibdata1 是一个用来构建 innodb 系统表空间的文件。该文件包含了 undo ,还包含在用户在系统表空间创建的表信息和索引数据。一般如果数据空间均为独立表...

chronyc时间同步器配置

chronyc时间同步器配置

chronyc & chronydchrony 有两个核心组件:chronyd守护进程,主要用于调整内核中运行的系统时间和时间服务器同步chronyc命令行界面程序,让用户能够对 chrony...

发表评论    

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