游客t4qn5rrml3dzg_个人页

游客t4qn5rrml3dzg
0
1
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2018-06-28

    对象存储 OSS通过样式访问原图

    详细解答可以参考官方帮助文档为了简化使用,用户可以将特定的处理方法保存为样式,这样以后调用同样的处理方法只需要指定某个样式即可。使用样式来进行图片处理的URL形式如下: http://userdomain/object@!style @!是目前支持的样式分隔符, style 是样式的名称 如:http://image-demo.img.aliyuncs.com/example.jpg@!pipe1 其中pipe1 是样式名称。
    踩1 评论0
  • 提交了问题 2018-04-06

    Web应用防火墙有哪些功能

  • 回答了问题 2018-03-15

    为什么没有充值记录查询

    详细解答可以参考官方帮助文档若您需要查询您的现金、代金券、储值卡、网上银行信任付、支付宝等支付方式的充值、消费、提现、退款等收支明细,可以登录 费用中心 进入 收支明细 页面进行查看。 登录 阿里云控制台,单击页面上方 费用 进入费用中心。再单击左侧导航栏中 收支明细,进入 收支明细 页面。选择您要查看的支付方式、起止时间、交易类型,然后单击 查询。您即可查看您的消费记录(包含流水号、日期、收入、支出、余额等)。查看消费详情。如果您需要查看消费记录详情,单击该消费记录流水号后的 详情 按钮,即可跳转至订单详情页面。您可以在此页面查看此订单购买的产品、数量、配置等信息。如果您需要导出明细,可在 收支明细 页面单击 导出。然后选择 交易类型、起止时间,输入验证码,再单击 确定,即导出明细表格。
    踩1 评论0
  • 回答了问题 2018-02-26

    刷新后,图片全部挂了

    详细解答可以参考官方帮助文档 问题描述:OSS上传图片,生成url后访问返回http code值为403。解决方案:1、确认bucket权限。如果权限为私有,需要通过签名访问,签名可以参考https://help.aliyun.com/document_detail/oss/api-reference/access-control/signature.html?spm=5176.product8314910_oss.6.185.CLZCYx。或者也可以把权限修改为公共读。2、确认防盗链设置。如果设置refer不允许为空。则只有预先设定好的refer才可以进行访问,其他refer访问会被拦截。在浏览器直接打开oss自带域名refer为空,所以就无法打开了,如无特殊需求,可以设定为允许空refer。如问题还未解决,请联系售后技术支持。 
    踩1 评论0
  • 回答了问题 2018-02-14

    cors使用场景

    详细解答可以参考官方帮助文档 同源策略 跨域访问,或者说 JavaScript 的跨域访问问题,是浏览器出于安全考虑而设置的一个限制,即同源策略。举例说明,当 A,B 两个网站属于不同的域时,如果来自于 A 网站的页面中的 JavaScript 代码希望访问 B 网站的时候,浏览器会拒绝该访问。 然而,在实际应用中,经常会有跨域访问的需求。比如用户的网站 www.a.com,后端使用了 OSS,在网页中提供了使用 JavaScript 实现的上传功能,但是在该页面中,只能向 www.a.com 发送请求,向其他网站发送的请求都会被浏览器拒绝。这样会导致用户上传的数据必须从www.a.com 中转。如果设置了跨域访问的话,用户就可以直接上传到 OSS 而无需从 www.a.com 中转。 CORS 介绍 跨域资源共享(Cross-Origin Resource Sharing,简称 CORS),是 HTML5 提供的标准跨域解决方案,具体的CORS规则可以参考W3C CORS规范。 CORS 是一个由浏览器共同遵循的一套控制策略,通过HTTP的Header来进行交互。浏览器在识别到发起的请求是跨域请求的时候,会将Origin的Header加入HTTP请求发送给服务器,比如上面那个例子,Origin的Header就是www.a.com。服务器端接收到这个请求之后,会根据一定的规则判断是否允许该来源域的请求,如果允许的话,服务器在返回的响应中会附带上Access-Control-Allow-Origin这个Header,内容为www.a.com来表示允许该次跨域访问。如果服务器允许所有的跨域请求的话,将Access-Control-Allow-Origin的Header设置为*即可,浏览器根据是否返回了对应的Header来决定该跨域请求是否成功,如果没有附加对应的Header,浏览器将会拦截该请求。 以上描述的仅仅是简单情况,CORS规范将请求分为两种类型,一种是简单请求,另外一种是带预检的请求。预检机制是一种保护机制,防止资源被本来没有权限的请求修改。浏览器会在发送实际请求之前先发送一个OPTIONS的HTTP请求来判断服务器是否能接受该跨域请求。如果不能接受的话,浏览器会直接阻止接下来实际请求的发生。 只有同时满足以下两个条件才不需要发送预检请求: 请求方法是如下之一: GET HEAD POST 所有的Header都在如下列表中: Cache-Control Content-Language Content-Type Expires Last-Modified Pragma 预检请求会附带一些关于接下来的请求的信息给服务器,主要有以下几种: Origin:请求的源域信息 Access-Control-Request-Method:接下来的请求类型,如POST、GET等 Access-Control-Request-Headers:接下来的请求中包含的用户显式设置的Header列表 服务器端收到请求之后,会根据附带的信息来判断是否允许该跨域请求,信息返回同样是通过Header完成的: Access-Control-Allow-Origin:允许跨域的Origin列表 Access-Control-Allow-Methods:允许跨域的方法列表 Access-Control-Allow-Headers:允许跨域的Header列表 Access-Control-Expose-Headers:允许暴露给JavaScript代码的Header列表 Access-Control-Max-Age:最大的浏览器缓存时间,单位为s 浏览器会根据以上的返回信息综合判断是否继续发送实际请求。当然,如果没有这些Header浏览器会直接阻止接下来的请求。 说明 这里需要再次强调的一点是,以上行为都是浏览器自动完成的,用户无需关注这些细节。如果服务器配置正确,那么和正常非跨域请求是一样的。 CORS主要使用场景 CORS使用一定是在使用浏览器的情况下,因为控制访问权限的是浏览器而非服务器。因此使用其它的客户端的时候无需关心任何跨域问题。 使用CORS的主要应用就是在浏览器端使用Ajax直接访问OSS的数据,而无需走用户本身的应用服务器中转。无论上传或者下载。对于同时使用OSS和使用Ajax技术的网站来说,都建议使用CORS来实现与OSS的直接通信。 OSS对CORS的支持 OSS提供了CORS规则的配置从而根据需求允许或者拒绝相应的跨域请求。该规则是配置在Bucket级别的。详情可以参考PutBucketCORS。 CORS请求的通过与否和OSS的身份验证等是完全独立的,即OSS的CORS规则仅仅是用来决定是否附加CORS相关的Header的一个规则。是否拦截该请求完全由浏览器决定。 使用跨域请求的时候需要关注浏览器是否开启了Cache功能。当运行在同一个浏览器上分别来源于www.a.com和www.b.com的两个页面都同时请求同一个跨域资源的时候,如果www.a.com的请求先到达服务器,服务器将资源带上Access-Control-Allow-Origin的Header为www.a.com返回给用户。这个时候www.b.com又发起了请求,浏览器会将Cache的上一次请求返回给用户,这个时候Header的内容和CORS的要求不匹配,就会导致后面的请求失败。 说明 目前OSS的所有Object相关的接口都提供了CORS相关的验证,另外Multipart相关的接口目前也已经完全支持CORS验证。 GET请求跨域示例 这里举一个使用Ajax从OSS获取数据的例子。为了简单起见,使用的Bucket都是public,访问私有的Bucket的CORS配置是完全一样的,只需要在请求中附加签名即可。 简单开始 首先创建一个Bucket,这里举例为oss-cors-test,将权限设置为public-read,然后这里创建一个test.txt的文本文档,上传到这个Bucket。 单击此处,获取test.txt的访问地址。 说明 请将下文中的地址换成自己试验的地址。 首先用curl直接访问: curl http://oss-cors-test.oss-cn-hangzhou.aliyuncs.com/test.txt just for test 可见现在已经能正常访问了。 那么我们现在再试着使用Ajax技术来直接访问这个网站。我们写一个最简单的访问的HTML,可以将以下代码复制到本地保存成html文件然后使用浏览器打开。因为没有设置自定义的头,因此这个请求是不需要预检的。 Run Sample 打开文件后点击链接(以Chrome为例),提示该链接无法访问。 利用Chrome的开发者工具来查看错误原因。 这里告诉我们是因为没有找到Access-Control-Allow-Origin这个头。显然,这就是因为服务器没有配置CORS。 再进入Header界面,可见浏览器发送了带Origin的Request,因此是一个跨域请求,在Chrome上因为是本地文件所以Origin是null。 设置 Bucket CORS知道了上文的问题,那么现在可以设置Bucket相关的CORS来使上文的例子能够执行成功。为了直观起见,这里使用控制台来完成CORS的设置。如果用户的CORS设置不是很复杂,也建议使用控制台来完成CORS设置。CORS设置的界面如下: CORS设置是由一条一条规则组成的,真正匹配的时候会从第一条开始逐条匹配,以最早匹配上的规则为准。现在添加第一条规则,使用最宽松的配置: 这里表示的意思就是所有的Origin都允许访问,所有的请求类型都允许访问,所有的Header都允许,最大的缓存时间为1s。 配置完成之后重新测试,结果如下: 可见现在已经可以正常访问请求了。 因此排查问题来说,如果想要排除跨域带来的访问问题,可以将CORS设置为上面这种配置。这种配置是允许所有的跨域请求的一种配置,因此如果这种配置下依然出错,那么就表明错误出现在其他的部分而不是CORS。 除了最宽松的配置之外,还可以配置更精细的控制机制来实现针对性的控制。比如对于这个场景可以使用如下最小的配置匹配成功: 因此对于大部分场景来说,用户最好根据自己的使用场景来使用最小的配置以保证安全性。 利用跨域实现POST上传 这里提供一个更复杂的例子,这里使用了带签名的POST请求,而且需要发送预检请求。详情请参见PostObjectSample。 说明 将上面的代码下载下来之后,将以下对应的部分全部修改成自己对应的内容,然后使用自己的服务器运行起来。 这里继续使用上文oss-cors-test这个Bucket来进行测试,在测试之前先删除所有的CORS相关的规则,恢复初始状态。 访问这个网页,选择一个文件上传。 同样打开开发者工具,可以看到以下内容,根据上面的Get的例子,很容易明白同样发生了跨域的错误。不过这里与Get请求的区别在于这是一个带预检的请求,所以可以从图中看到是OPTIONS的Response没有携带CORS相关的Header然后失败了。 那么我们根据对应的信息修改Bucket的CORS配置: 再重新运行,可见已经成功了,从控制台中也可以看到新上传的文件。 测试一下内容: $curl http://oss-cors-test.oss-cn-hangzhou.aliyuncs.com/events/1447312129218-test1.txt post object test CORS配置的一些注意事项 CORS配置一共有以下几项: 来源:配置的时候要带上完整的域信息,比如示例中 http://10.101.172.96:8001. 注意不要遗漏了协议名如http,如果端口号不是默认的还要带上端口号之类的。如果不确定的话,可以打开浏览器的调试功能查看Origin头。这一项支持使用通配符*,但是只支持一个,可以根据实际需要灵活配置。 Method:按照需求开通对应的方法即可。 Allow Header:允许通过的Header列表,因为这里容易遗漏Header,因此建议没有特殊需求的情况下设置为*。大小写不敏感。 Expose Header:暴露给浏览器的Header列表,不允许使用通配符。具体的配置需要根据应用的需求来选择,只暴露需要使用的Header,如ETag等。如果不需要暴露这些信息,这里可以不填。如果有特殊需求可以单独指定,大小写不敏感。 缓存时间:如果没有特殊情况可以酌情设置的大一点,比如60s。 因此,CORS的一般配置方法就是针对每个可能的访问来源单独配置规则,尽量不要将多个来源混在一个规则中,多个规则之间最好不要有覆盖冲突。其他的权限只开放需要的权限即可。 一些错误排查经验 在调试类似程序的时候,很容易发生一种情况就是将其他错误和CORS错误弄混淆了。 举个例子,当用户因为签名错误访问被拒绝的时候,因为权限验证发生在CORS验证之前,因此返回的结果中并没有带上CORS的Header信息,有些浏览器就会直接报CORS出错,但是实际服务器端的CORS配置是正确的。对于这种情况,我们有两种方式: 查看HTTP请求的返回值,因为CORS验证是一个独立的验证,并不影响主干流程,因此像403之类的返回值不可能是由CORS导致的,需要先排除程序原因。如果之前发送了预检请求,那么可以查看预检请求的结果,如果预检请求中返回了正确的CORS相关的Header,那么表示真实请求应该是被服务器端所允许的,因此错误只可能出现在其他的方面。 将服务器端的CORS设置按照如上文所示,改成允许所有来源所有类型的请求都通过的配置,再重新验证。如果还是验证失败,表明有其他的错误发生。
    踩1 评论0
  • 回答了问题 2018-02-13

    请问上传到OSS的图片能保留文件名+域名作为访问地址吗

    详细解答可以参考官方帮助文档 在OSS Bucket上传对象后,可获取对象的地址,包含两个部分:OSS域名地址+对象文件名,格式为:.。为了避免业务中可能涉及的跨域或者安全问题,建议您将自定义的域名访问绑定在属于自己的Bucket上面。域名绑定成功后,为了使用域名正常访问OSS,还需要添加CNAME记录指向存储空间对应的外网域名。 说明 您绑定的域名需在工信部备案,否则域名访问将会受到影响。 每个存储空间最多可以绑定20个域名。 自定义域名绑定成功后,OSS中存储文件的访问地址会使用自定义域名。例如,您的存储空间test-1-001位于杭州节点,对象文件名称为test001.jpg,绑定的自定义域名为hello-world.com,则该对象访问地址为: 未绑定之前:test-1-001.oss-cn-hangzhou.aliyuncs.com/test001.jpg 绑定成功后:hello-world.com/test001.jpg 可以通过控制台将自定义域名绑定到OSS外网域名上实现自定义域名访问存储空间下的文件,也可同时一键配置阿里云CDN实现加速功能。 绑定域名操作步骤 进入OSS管理控制台界面。 在左侧存储空间列表中,单击目标存储空间名称,打开该存储空间概览页面。 单击域名管理页签。 单击绑定用户域名,打开绑定用户域名页面,如下图所示: 绑定域名。 在用户域名框中,输入要绑定的域名名称。 如果需要CDN加速,开启阿里云CDN加速。 如何开启请参考:OSS如何开启CDN加速服务。 说明 关于CDN加速的详细介绍,请参考最佳实践CDN加速OSS。 选择是否需要自动添加 CNAME 记录。 说明 当您输入的域名(二级域名部分)已在其他阿里云账号下配置过云解析,则跨账号绑定域名时不支持自动添加云解析,您需要手动添加CNAME记录。具体操作请参见域名解析操作步骤。 单击提交。 说明 如果该域名已经被其他用户恶意绑定,系统将提示域名冲突。您可以单击获取TXT 通过添加域名TXT记录的方式验证域名所有权,来强制绑定域名,同时解除此域名与之前存储空间的绑定关系。具体请参见下文中的验证域名所有权操作步骤。 证书托管 如果您的用户域名需要通过HTTPS的方式访问OSS服务,必须购买相应的数字证书。您可以通过任何CA证书厂商或者阿里云云盾申请免费的证书或购买高级证书(详情请参见证书服务快速入门),并通过OSS托管您的证书。 如果没有开启CDN加速,则绑定用户域名后,您可以直接在OSS控制台上进行证书托管操作,步骤如下: 在域名管理页签,单击操作下的证书托管。 在证书托管页面,输入您数字证书上的公钥和私钥信息,然后单击上传。 说明 证书格式要求请您参见证书格式说明。 如果开启了CDN加速,则绑定用户域名后,您需要通过CDN控制台进行HTTPS证书管理。详情请参见设置HTTPS安全加速。 验证域名所有权操作步骤 单击获取TXT。系统根据您的信息生成对应的TXT记录。 登录您的域名解析商处添加对应的TXT记录。 在控制台单击我已添加txt验证文件,继续提交。如果系统检测到该域名对应的TXT记录值与预期一致,验证通过。 域名解析操作步骤 登录云解析DNS 控制台进入域名解析列表页面。 单击目标域名对应的解析,打开域名解析页面。 单击添加解析,打开添加解析页面。 在记录类型下拉列表中,选择CNAME;在记录值框中,填写对应的存储空间外网域名(即Bucket域名,如BucketName.oss-cn-hangzhou.aliyuncs.com)。 单击确认,域名解析完成。
    踩1 评论0
  • 提交了问题 2018-01-18

    为什么我的ftp软件老是连不上空间

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息