//用data()取得时间

本文涉及的产品
对象存储 OSS,20GB 3个月
云防火墙,500元 1000GB
对象存储 OSS,内容安全 1000次 1年
简介: //用data()取得时间

这是我所编写的插件(包含Wordpress插件、PHPWind8.7插件、Discuz插件)在搜集用户反馈的使用中遇到的各种问题后,所做的一些排查的分享。希望能对大家有用,也希望大家在使用本人或者其它作者编写的插件时遇到问题后,先按帖子所描述的一些常见 问题排查原因,为自己、为开发者节省时间。

通常,OSS插件实现上传的功能需要这几个过程:
上载,
获取object URL(将URL直接写库)或者path(将路径写库,每次访问时拼凑生成一次URL)。

而上传功能,问题也可能发生最多。通常表现为:文件上传不了,OSS的BUCKET中无文件。

遇到这个问题,首先在SSH上排查下OSS的接口域名是否能PING通:
SSH执行

老接口

ping storage.aliyun.com

新接口

ping oss.aliyuncs.com

内网 老接口

ping storage-vm.aliyun-inc.com

内网 新接口

ping oss-internal.aliyuncs.com
若返回 name resolve faild之类,则是DNS解析不了。 解决办法:vi /etc/hosts将IP与OSS域名映射下即可。
若timeout,则通常是你的服务器与OSS接口服务器连接不通。这个通常是防火墙或者线路抽风导致的,如果有防火墙权限把OSS的接口地址、IP解封即可。如果没有权限 或者并非防火墙原因,就只能换服务器、线路了。

如果完全可以PING通,并且响应时间在200ms内,那么恭喜,你可以进入下一步了:

在SSH上执行:

老接口

curl http://storage.aliyun.com

内网 老接口

curl http://storage-vm.aliyun-inc.com

内网 新接口

curl http://oss-internal.aliyuncs.com
如果返回类似于:
<?xml version="1.0" encoding="UTF-8"?>

AccessDenied
Anonymous access is forbidden for this operation.
506ED3064AA1C34B2960F6E4
storage.aliyun.com
这样的数据,那么理论上与OSS的访问是无阻的了。如果能PING通,但获取不了数据,那可以试试OSS接口的8080端口:

老接口

curl http://storage.aliyun.com:8080

内网 老接口

curl http://storage-vm.aliyun-inc.com:8080

内网 新接口

curl http://oss-internal.aliyuncs.com:8080
如果80不能使用,而8080可以使用,就可以将接口地址替换为8080端口的(造成80不通通常原因是防火墙导致)。

如果OSS能正常访问,并且提供的KEY/SECRET/BUCKET/OBJECT合法,但请求失败(会返回数据),得考虑下以下情况 :

1.WEB服务器与OSS服务器时差过大。
使用PHP代码检测:
<?php
date_default_timezone_set('Asia/Shanghai');//设置时区为中国时间
$time=date("H:i:s"); //用data()取得时间
echo $time;
?>OSS官方文档有介绍:使用OSS签名的时间与OSS服务器时间(标准北京时间)误差不得大于正负15分钟。否则将返回“SignatureExpired”。若检测到WEB服务器时间与北京时间误差超过15分钟,务必修正时间误差。
同时开发者需要注意,尽量获取北京时间来计算signature,避免因签名冲突导致请求失败。

相关文章
|
7月前
|
Android开发
|
5月前
|
C#
C#中使用IntPtr.Size属性来判断当前系统是32位还是64位
这段代码首先检查 `IntPtr.Size`的值,如果是4,则输出"当前系统是32位";如果是8,则输出"当前系统是64位";如果都不是,就输出"未知系统位数"。
63 0
TS定义布尔值,let flag:boolean = true,定义数字类型 let a1:number = 10,赋值 let str1:string = ‘‘,打印c~.log($(str1))
TS定义布尔值,let flag:boolean = true,定义数字类型 let a1:number = 10,赋值 let str1:string = ‘‘,打印c~.log($(str1))
|
6月前
|
索引
String index out of range错误与解决方法
String index out of range错误与解决方法
1817 0
|
7月前
|
索引
filebeat 设置索引的 max_result_window
在 Filebeat 中设置索引的 max_result_window 需要修改 Elasticsearch 的索引模板。max_result_window 参数定义了在 Elasticsearch 中执行搜索时,最大返回文档的数量。默认情况下,该值为 10000。 要修改该值,可以按照以下步骤操作: 打开 Filebeat 的配置文件。 找到输出部分,其中定义了 Elasticsearch 输出。 在 Elasticsearch 输出配置中,找到索引模板相关的配置。 确保你已经定义了自定义的索引模板(如果没有,请创建一个)。 在索引模板中,设置 max_result_window 参数为
115 1
|
7月前
|
关系型数据库 MySQL 数据库
Specified key was too long; max key length is 767 bytes导入mysql数据库表报错
Specified key was too long; max key length is 767 bytes导入mysql数据库表报错
74 0
list.remove(index)返回flase,移除失败
list.remove(index)返回flase,移除失败
121 0
list.remove(index)返回flase,移除失败
|
XML 网络协议 网络安全
min_free_kbytes 设置案例问题解析
LINUX tmpfs 空间使用未达到100% , 内存也未占满。 执行任何命令提示 bash: fork: Cannot allocate memory 过几秒时间系统会自动重启。
min_free_kbytes 设置案例问题解析