小程序(或h5)无法显示阿里云服务器上的图片

如果图片服务器设置了“referer”请求头白名单,来控制防止盗链,那么可以尝试一下流程:

微信文档,明确指出“网络请求的 referer 格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid”(https://developers.weixin.qq.com/miniprogram/dev/framework/plugin/development.html#%E5%85%B6%E4%BB%96%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9),而一般使用“referer”进行防盗链。

而我们的图片服务器设置的referer白名单为“https://servicewechat.com/wxcabcdefgh123456/*”,但是微信小程序iOS版,在【刚刚启动小程序】时,image标签加载网络图片的请求,请求头“referer”却是“https://servicewechat.com/preload/page-frame.html”,不符合referer白名单规则,所以被拒绝,服务器返回的是403状态码,但是微信小程序错误日志却是404 Not Found(又是一个坑)。

把我们的图片服务器,防盗链设置referer白名单为改为“https://servicewechat.com/*”则问题解决了,就是不要加“{appid}”这部分路径。

解决方法网上还有其它方案

  • 使用images.weserv.nl方案
  • 使用no-referrer方案(h5)

1 使用images.weserv.nl方案 不需要改服务器白名单 亲测有效
在这里插入图片描述
无法显示出来

在这里插入图片描述

在返回的图片链接上加上前缀:https://images.weserv.nl/?url=

在这里插入图片描述

2 使用no-referrer方案,在其它标签上也可用 暂时没测试校验过

<meta name="referrer" content="no-referrer" />
<img referrer="no-referrer|origin|unsafe-url" src="{{item.src}}"/>
<image referrer="no-referrer|origin|unsafe-url" src="{{item.src}}"></image>
<a href="http://example.com" referrer="no-referrer|origin|unsafe-url">xxx</a>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
H5页面部署到阿里云服务上,您可以按照以下步骤进行操作: 1. 注册阿里云账号:如果您还没有阿里云账号,请先在阿里云官网注册一个账号,并完成实名认证。 2. 购买云服务器(ECS):登录阿里云控制台,在 ECS(云服务器)页面选择地域和实例规格,然后按照流程购买一个适合您需求的云服务器。 3. 配置安全组:在购买完成后,进入云服务器控制台,在安全组中添加规则,允许外部访问您的服务器的HTTP(80)和HTTPS(443)端口。 4. 连接服务器:使用SSH工具(如PuTTY)连接到您的云服务器。您需要使用您在购买云服务器时设置的密钥文件。 5. 安装Web服务器:在连接到服务器后,您可以选择安装适合您的Web服务器,如Nginx、Apache等。根据您的需求和技术栈选择合适的Web服务器,并按照官方文档进行安装和配置。 6. 上传H5页面:将您开发好的H5页面文件上传到云服务器上。您可以使用FTP工具(如FileZilla)或者命令行工具(如scp)将文件传输到服务器上。 7. 配置域名和解析:如果您有自己的域名,您可以在阿里云域名控制台中配置域名解析,将域名指向您的云服务器的公网IP地址。 8. 配置Web服务器:根据您选择的Web服务器,配置虚拟主机或者站点,将域名与您上传的H5页面关联起来。 9. 测试访问:完成以上步骤后,您可以通过浏览器访问您的H5页面,使用域名或者服务器的公网IP地址进行访问。确保页面能够正常显示。 请注意,以上步骤只是一个简单的指引,并不能涵盖所有细节。具体的操作可能因您的需求和服务器环境而有所不同。如果您对某个具体步骤有更多的疑问或需要更详细的指导,请提供更多信息以便我能够给予更准确的建议。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值