云服务器内容精选
-
无法获取上传后的ETag值 使用ObsClient.putObject和ObsClient.uploadPart上传文件成功后返回结果中无ETag值,此类错误一般有两种原因: 桶的CORS配置中ExposeHeader不包含ETag头域,解决方法:按照文档配置桶的CORS为桶配置完整的CORS配置; 桶的CORS配置中ExposeHeader包含ETag头域,但浏览器的返回结果屏蔽了ETag头域(一般发生在低版本的浏览器),解决方法:升级到高版本且完全支持HTML5的浏览器。
-
跨域请求被拦截 Access to XMLHttpRequest at 'xxx' from origin 'xxx' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
-
请求成功但返回结果缺少某些字段 此类错误一般有两种原因: 在桶的CORS配置中ExposeHeader配置不完整,例如未配置ETag(导致上传对象成功后无法获取ETag值)、未配置x-obs-request-id(导致请求完成后无法获取OBS服务端请求ID)等,解决方法:请参考配置桶的CORS章节重新配置桶的CORS; 使用了旧版本的SDK,解决方法:升级到最新版本的SDK,可以从这里下载最新版本。
-
报错SSL peer shut down incorrectly 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 javax.net.ssl.SSLException: SSL peer shut down incorrectly at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:596) at sun.security.ssl.InputRecord.read(InputRecord.java:532) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975) at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:933) at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) at obs.shaded.okio.Okio$2.read(Okio.java:140) at obs.shaded.okio.AsyncTimeout$2.read(AsyncTimeout.java:237) at obs.shaded.okio.RealBufferedSource.read(RealBufferedSource.java:51) at obs.shaded.okhttp3.internal.http1.Http1ExchangeCodec$AbstractSource.read(Http1ExchangeCodec.java:389) at obs.shaded.okhttp3.internal.http1.Http1ExchangeCodec$FixedLengthSource.read(Http1ExchangeCodec.java:427) at obs.shaded.okhttp3.internal.connection.Exchange$ResponseBodySource.read(Exchange.java:286) at obs.shaded.okio.RealBufferedSource$1.read(RealBufferedSource.java:447) at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:238) at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158) at java.util.zip.GZIPInputStream.read(GZIPInputStream.java:117) at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) at java.io.InputStreamReader.read(InputStreamReader.java:184) at java.io.BufferedReader.fill(BufferedReader.java:161) at java.io.BufferedReader.readLine(BufferedReader.java:324) at java.io.BufferedReader.readLine(BufferedReader.java:389)
-
ObsException中无法获取错误码 此类错误一般有两种原因: 调用ObsClient.getBucketMetadata或ObsClient.getObjectMetadata报错,此种场景下由于后台使用的是HEAD请求,服务端不会返回错误码,解决方法:使用ObsException.getResponseCode获取HTTP状态码,根据状态码分析可能原因,如403一般代表无权限访问,404一般代表桶或对象不存在;如无法定位原因,可从ObsException中获取OBS服务端请求ID后联系OBS运维团队; 初始化ObsClient时传入的Endpoint通过DNS解析后的IP不是有效的OBS服务端,解决方法:检查Endpoint配置是否正确,如Endpoint确认无误,联系OBS运维团队。
-
NullPointException空指针异常 1 2 3 Exception in thread "main" java.lang.NullPointerException at com.obs.services.internal.RestStorageService.isCname(RestStorageService.java:1213) at com.obs.services.ObsClient.doActionWithResult(ObsClient.java:2805)
-
升级SDK后报错StackOverflowError问题 1 2 3 4 5 6 7 8 9 Caused by: java.lang.StackOverflowError at sun.misc.URLClassPath.getResource(URLClassPath.java:211) ~[?:1.8.0_91] at java.net.URLClassLoader$1.run(URLClassLoader.java:365) ~[?:1.8.0_91] at java.net.URLClassLoader$1.run(URLClassLoader.java:362) ~[?:1.8.0_91] at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_91] at java.net.URLClassLoader.findClass(URLClassLoader.java:361) ~[?:1.8.0_91] at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_91] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_91] at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1806)
-
读写超时 1 2 3 4 5 6 HTTP Code: 408 Error Code:RequestTimeOut Caused by: java.net.SocketTimeoutException: timeout at okio.Okio$4.newTimeoutException(Okio.java:232) at okio.AsyncTimeout.exit(AsyncTimeout.java:285) at okio.AsyncTimeout$2.read(AsyncTimeout.java:241) 此类错误一般有两种原因: 客户端到OBS服务端的网络时延过大,解决方法:检查客户端到OBS服务端的网络健康状况; 客户端到OBS服务端的网络异常,导致无法访问,解决方法:检查客户端到OBS服务端的网络健康状况。
-
UnknownHostException 域名 无法解析异常 1 2 3 4 Caused by: java.net.UnknownHostException: bucketname.unknowndomain.com at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901) at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293) 此类错误一般有两种原因: 初始化ObsClient时传入的Endpoint有误,解决方法:检查Endpoint,确保正确; DNS无法解析OBS服务域名,解决方法:联系OBS运维团队。
-
升级SDK后okhttp报错问题 1 2 3 4 5 6 Exception in thread "main" java.lang.NoSuchMethodError: 'okhttp3.RequestBody okhttp3.RequestBody.create(java.lang.String, okhttp3.MediaType)' at com.obs.services.internal.RestConnectionService.createRequestBuilder(RestConnectionService.java:157) at com.obs.services.internal.RestConnectionService.setupConnection(RestConnectionService.java:148) at com.obs.services.internal.RestConnectionService.setupConnection(RestConnectionService.java:124) at com.obs.services.internal.RestStorageService.performRequest(RestStorageService.java:395) at com.obs.services.internal.RestStorageService.performRequest(RestStorageService.java:388)
-
连接超时 1 2 3 4 HTTP Code: 408 Caused by: java.net.ConnectException: Connection timed out: connect at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) 此类错误一般有三种原因: 初始化ObsClient时传入的Endpoint有误,解决方法:检查Endpoint,确保正确; 客户端到OBS服务端的网络异常,导致无法访问,解决方法:检查客户端到OBS服务端的网络健康状况; DNS解析出的OBS服务域名无法访问,解决方法:联系OBS运维团队。
-
SignatureDoesNotMatch签名不匹配 1 2 HTTP Code: 403 Error Code: SignatureDoesNotMatch 此类错误一般有三种原因: 初始化ObsClient时传入的SK有误,解决方法:检查SK,确保正确; 旧版本OBS Java SDK的BUG,解决方法:升级SDK到最新版本; OBS Java SDK 2.1.x版本与其依赖库Apache HttpClient的兼容性问题,解决方法:使用固定版本的依赖库,httpcore-4.4.4和httpclient-4.5.3。
-
返回码 通过进程等方式调用obsutil时,无法实时查看回显信息。obsutil支持在进程运行结束后,根据不同的运行结果生成不同的返回码,具体的返回码及其含义如表1所示。您可以通过以下方式获取最近一次运行结果的返回码,然后根据返回码分析并处理问题。 macOS/Linux操作系统,执行以下命令获取最近一次运行结果的返回码: echo $? Windows操作系统,执行以下命令获取最近一次运行结果的返回码: echo %errorlevel% 表1 返回码 返回码 含义 常见场景举例 0 执行成功 上传对象成功。 1 文件不存在 执行cp上传文件,输入的文件路径不存在。 2 任务不存在 执行cp恢复失败的上传任务,指定的Task Id不存在。 3 参数错误 执行cp上传文件,输入不支持的附加选项; 执行cp下载文件,输入的cloud_url不合法。 说明: cloud_url为桶路径或对象路径,当下载桶中的所有对象时,cloud_url的格式必须为obs://bucketname;当下载指定对象时,cloud_url的格式必须为obs://bucketname/key。 4 检查桶状态错误 执行cp上传文件夹,待上传的桶不存在。 5 命令初始化错误 加载配置文件出错; 执行cp上传文件夹,并指定了-o参数,但无法成功创建保存结果清单文件的文件夹。 6 执行错误 执行ls查询桶列表,因为网络超时而失败。 7 操作不支持 执行chattri修改对象属性,但桶不是3.0版本的桶。 8 批量任务执行不完全成功 执行cp批量下载对象,部分对象下载失败。 9 中断错误 执行命令过程中用户手动Ctrl+C中断任务执行。 -1 其他未知错误 - 父主题: 问题定位
-
认证不通过 认证不通过的请求会被API网关拒绝,得到类似如下的返回,返回以APIGW开头的错误码。 比如使用Token认证请求没有带Token,返回如下。 { "error_msg": "Incorrect IAM authentication information: x-auth-token not found", "error_code": "APIGW.0301", "request_id": "7775eaa6b4bbe5934e565349bd27c298"} 使用了错误的Token,返回如下。 { "error_msg": "Incorrect IAM authentication information: decrypt token fail", "error_code": "APIGW.0301", "request_id": "0e812a89eee650de8e1f55cdae28b2c9"} 使用了错误的AK,会返回如下错误。 Traceback (most recent call last): File "/home/user/.local/lib/python3.7/site-packages/huaweicloudsdkcore/http/http_client.py", line 119, in response_hook resp.raise_for_status() File "/home/user/.local/lib/python3.7/site-packages/requests/models.py", line 953, in raise_for_status raise HTTPError(http_error_msg, response=self)requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://iam.myhuaweicloud.com/v3/projects?name=cn-north-4During handling of the above exception, another exception occurred:Traceback (most recent call last): File "/home/user/.local/lib/python3.7/site-packages/huaweicloudsdkcore/auth/credentials.py", line 93, in process_auth_params self.project_id = keystone_list_projects(http_client, request) File "/home/user/.local/lib/python3.7/site-packages/huaweicloudsdkcore/auth/iam_service.py", line 49, in keystone_list_projects raise e File "/home/user/.local/lib/python3.7/site-packages/huaweicloudsdkcore/auth/iam_service.py", line 47, in keystone_list_projects http_response = http_client.do_request_sync(request) File "/home/user/.local/lib/python3.7/site-packages/huaweicloudsdkcore/http/http_client.py", line 93, in do_request_sync self.response_error_hook_factory()(response) File "/home/user/.local/lib/python3.7/site-packages/huaweicloudsdkcore/http/http_client.py", line 130, in response_hook raise exceptions.ClientRequestException(response_status_code, sdk_error)huaweicloudsdkcore.exceptions.exceptions.ClientRequestException: ClientRequestException - {status_code:401,request_id:3f979354fbec41b3cc0bd28ce7865e20,error_code:APIGW.0301,error_msg:Incorrect IAM authentication information: ak xxxxxx not exist } 使用了错误的SK,返回如下。 huaweicloudsdkcore.exceptions.exceptions.ApiValueError: Failed to get project id, Incorrect IAM authentication information: verify aksk signature fail, canonicalRequest:GET|/v3/projects/|name=cn-north-4|host:iam.myhuaweicloud.com|x-sdk-date:20210902T011700Z||host;x-sdk-date|e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
-
Token与project不匹配 在使用Token认证时,经常会出现申请了Token,但是申请Token时的权限范围是区域A,但是请求时却请求调用区域B的资源,这是往往会得到类似如下的返回。表示Token与请求不匹配。 { "error": { "message": "tenantId in token is not the same with in URL.", "code": "Common.0018" }} 解决该问题的方法通常有两种: 使用正确权限范围的Token做请求认证,例如要请求区域B的资源,申请Token时填写 使用AK/SK认证鉴权。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格