阿里云URL转发类问题排查

本文详细介绍了URL转发的两种类型——隐性转发和显性转发,以及301和302重定向的区别。在使用URL转发时需要注意的事项包括备案要求、不支持泛解析和中文域名等。针对可能出现的问题,如502错误、空白页、JS代码影响等,提供了相应的解决方案。此外,还提到了URL转发与云解析DNS的关系以及dig测试的正常现象。

概念

URL转发包含URL隐性转发和URL显性转发,主要是指将一个域名指向另外一个已经存在的站点时,可以通过URL转发实现。隐性URL转发是用的是iframe框架技术,显性URL转发采用的是301(也称之为永久性转移)或302重定向技术(也称之为暂时性转移)。

301和302说明

301 redirect: 301 代表永久性转移(Permanently Moved)

302 redirect: 302 代表暂时性转移(Temporarily Moved )

共同点:301和302状态码都表示重定向,当浏览器得到服务器返回的301或302状态码后会跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)。

区别:301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了),搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址;302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,搜索引擎会抓取新的内容而保存旧的网址。

使用规则

添加 URL 转发记录时,转发前的域名需完成备案且备案接入商为阿里云。

URL转发时记录值不能为IP地址

URL转发不支持泛解析设置。

URL转发的目标域名不支持中文域名。

URL转发前域名支持HTTP,不支持HTTPS,转发后的目标地址支持HTTP、HTTPS。

URL转发属于特殊商品,云解析不提供攻击防护服务,如遇攻击黑洞时无法使用URL转发,请将需要转发的主机记录配置为A或CNAME记录。

原理说明

用户添加URL转发记录时,云解析DNS会自动为用户添加A记录,而A记录指向的地址则是云解析DNS提供的URL转发服务器地址,目的就是通过URL转发服务器来帮助用户实现转发功能。当访问者访问转发前域名时,实际上是向云解析DNS提供的URL转发服务器发起请求,如果是隐性url转发,则是通过云解析DNS的应用来嵌套用户目标的url,并返回带有iframe的页面给到访问者;如果是显性URL转发,则是通过301或302重定向跳转到转发后页面。

常见问题

  1. 添加URL转发记录后,dig 域名 返回的解析结果与控制台设置不一致。

用户添加URL转发记录时,云解析DNS会自动为用户添加A记录,而A记录指向的地址则是云解析DNS提供的URL转发服务器地址,所以如果控制台添加的记录值是URL,而dig出来的是A记录且IP地址是(203.107.43.165/203.107.42.43),这是属于正常现象。

  1. 添加URL转发记录后,使用域名访问页面显示 HTTP ERROR 502 错误。

如果在添加URL转发记录时,提示未备案,不允许添加的情况:请同时检查转发前的域名和转发后的域名是否完成备案,如果未完成则请联系您服务器厂商完成备案。

如果已添加过URL转发记录,出现502错误,则可能为备案失效导致,请联系您的备案接入商进行排查。

  1. 添加隐性URL转发记录后,使用域名访问页面显示为空白页。

从浏览器(例如chrome)可以查看到如下报错提示,这是由于转发后站点header中设置了X-Frame-Options,主要是转发后站点不允许做嵌套,所以需要联系您的网站技术人员,在转发后站点中去掉X-Frame-Options的配置即可。URL转发空白
在这里插入图片描述

  1. 添加隐性URL转发记录后,页面可以正常打开,但是url上显示了转发目标地址。

请检查转发后的URL页面中的JS代码,如果有下图标记的设置,请去掉此段js代码。URL转发JS代码
在这里插入图片描述

  1. 添加URL转发记录后,操作页面刷新,直接跳转到了非目标地址的页面。

一般出现这种情况,多为目标页面(转发后的ULR站点)中可能有JS代码设置了跳转,需要您联系您的网站技术人员进行排查。

  1. 在云解析DNS中添加了URL转发记录,但是dig测试没有返回对应的A记录和记录值(203.107.43.165/203.107.42.43)请提交 云解析DNS工单,由技术人员为您处理。

  2. 添加URL转发记录后,打开页面提示 ERR_EMPTY_RESPONSE 错误

一般出现于CC攻击场景,因为域名请求的QPS过大,所以URL转发服务器停止了该域名的转发服务,建议您使用其他方式实现转发服务。

  1. 添加URL转发记录后,打开页面提示example.com已拒绝连接

现象:在console中不显示拦截的相关信息。

原因:是由于same-origin拦截。需要从网络中看连路上最后一次200请求返回的Header头部,里面可能会有same-origin的限制返回。

解决:此类问题一般为用户网站安全策略设置问题,建议用户检查配置,或者直使用显性URL转发配置。
在这里插入图片描述

数据从阿里云上传并存储到数据库的过程涉及多个步骤,具体取决于数据来源、目标数据库型以及传输方式。以下是几种常见的实现方法: ### 数据上传至阿里云RDS MySQL数据库 1. **通过云产品流转规则实现数据同步** 阿里云物联网平台可以通过“云产品流转”功能将设备上传的物模型数据自动转发至RDS MySQL数据库。在配置过程中,需要设置规则引擎,指定数据流转的目标为RDS实例,并确保字段映射正确。例如,数据库名、表名、字段名需与数据源中的键值对应,且使用`${}`格式引用变量。完成规则配置后,启动规则引擎即可实现自动化数据流转。 2. **通过DataHub作为中间件进行数据同步** 另一种方法是先将数据发送至DataHub,再由DataHub同步至RDS MySQL数据库。这种方式适用于数据量较大或需要缓冲处理的场景。DataHub可以作为数据管道,将物联网平台产生的数据流高效、稳定地传输到RDS数据库中。配置时需确保DataHub与RDS之间的连接参数正确,并设置合适的数据同步策略。 ### 使用第三方工具将数据转发阿里云RDS 1. **通过dataFEED OPC Suite实现PLC数据上传** 在工业自动化场景中,设备(如西门子PLC)产生的数据可通过dataFEED OPC Suite进行采集,并转发阿里云RDS数据库。该工具支持OPC协议,能够实时读取PLC数据,并通过网络将数据上传至云端数据库。配置时需确保RDS数据库的连接信息(如IP地址、端口、用户名、密码)正确无误,并设置合适的数据表结构以接收PLC数据。 ### 云原生数据库连接与配置 1. **配置云原生数据库连接信息** 若使用Spring Boot等Java框架开发应用,可通过`application.properties`文件配置阿里云RDS MySQL数据库的连接信息。例如: ```properties cloud.db.url=jdbc:mysql://cloud-database.cluster-123456.amazonaws.com:3306/mydb cloud.db.user=cloud_user cloud.db.password=SecurePass123! ``` 上述配置适用于AWS RDS,若使用阿里云RDS,需将URL替换为阿里云RDS实例的实际地址。此外,还需确保数据库的访问白名单中包含应用服务器的IP地址,以保障连接安。 ### 嵌入式设备数据上传至阿里云数据库 1. **STM32设备通过WIFI与MQTT协议上传数据** 嵌入式设备(如STM32)可通过WIFI模块连接网络,并使用MQTT协议将数据上报至阿里云IoT平台,随后通过规则引擎转发至RDS MySQL数据库。在代码层面,需实现串口数据接收、数据解析以及网络通信功能。例如,串口接收中断服务函数可处理来自传感器的数据,并根据预设格式进行解析和转发。 ```c char RECS[250]; void USART1_IRQHandler() { if(USART_GetITStatus(USART1,USART_IT_RXNE)) { RECS[i++]=USART_ReceiveData(USART1); if((RECS[i-2]=='\r') || (RECS[i-1]=='\n')) { RECS[i-2]='\0'; i = 0; j = 0; while(RECS[j++] != '\0') { if(RECS[j]=='L' && RECS[j+1]=='E' && RECS[j+2]=='D' && RECS[j+3]=='O' && RECS[j+4]=='N') { GPIO_ResetBits(GPIOC,GPIO_Pin_13); } } } USART_ClearITPendingBit(USART1, USART_IT_RXNE); } } ``` ### 数据上传与转存的测试与调试 1. **模拟数据并测试数据流转** 在阿里云物联网平台中,可通过“在线调试”功能模拟设备数据上传过程。选择对应的产品与设备,填写模拟数据后,进入“日志服务”查看上行消息日志,确认是否有报错信息。若未出现错误,则表示数据已成功推送至RDS数据库。若出现错误,可根据日志信息进行排查,例如检查字段映射是否正确、数据库连接是否正常等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值