关于西瓜分类信息微信分享https图片不显示问题http没问题
本帖最后由 天涯人生 于 2021-3-31 15:45 编辑关于西瓜分类信息微信分享https图片不显示问题http没问题
有那个知道是那里问题,文字可以显示就是HTTPS图片不显示,公众服务号设置没问题的。
网址:https://www.sangjiang365.com/
版本是【西瓜】分类信息 173.20201017的
同此问题一样,请按照教程详细对照设置:
西瓜一键分享设置教程[西瓜分类信息自动定位依赖插件]
https://www.dz-x.net/t/638/1/1.html
(出处: DZ插件网)
针对HTTPS环境下微信分享图片不显示的问题,结合DZ插件网技术团队经验,建议从以下六个维度进行排查和修复:
一、SSL证书合规性验证
1. 使用Qualys SSL Labs工具检测证书链完整性(https://www.ssllabs.com/ssltest)
2. 确保证书包含SAN(Subject Alternative Name)扩展,适配微信的SNI验证要求
3. 检查证书是否启用OCSP Stapling优化握手过程
二、混合内容强制转换方案
1. 在Discuz后台【全局】-【上传设置】中开启"强制HTTPS附件地址"
2. 通过数据库执行替换命令(操作前务必备份):
UPDATE pre_forum_post SET message=REPLACE(message,'http://www.sangjiang365.com','https://www.sangjiang365.com');
UPDATE pre_common_attachment SET remoteurl=REPLACE(remoteurl,'http://','https://');
三、微信JSSDK签名适配
1. 检查插件生成的分享数据结构是否符合微信V3签名规范:
$signPackage = [
"appId" => $appid,
"nonceStr"=> $nonceStr,
"timestamp" => $timestamp,
"url" => $canonicalUrl, //必须去除#后的参数
"signature" => sha1(implode('', [$jsapiTicket, $nonceStr, $timestamp, $canonicalUrl]))
];
2. 确保分享页面的URL与JS安全域名完全匹配(包含www前缀需一致)
四、CDN特殊配置要求
1. 在CDN回源配置中增加X-Forwarded-Proto头识别:
proxy_set_header X-Forwarded-Proto $scheme;
2. 设置缓存策略时排除动态页面:
<match pattern="^(.*)/plugin.php(.*)xigua(.*)$" action="no-cache"/>
五、插件源码适配修改
定位到西瓜插件目录下 /source/plugin/xxx_classified/ 中的分享处理模块,建议增加HTTPS兼容处理:
// 原代码可能存在的HTTP硬编码
$shareImg = 'http://'.$_SERVER['HTTP_HOST'].$imgpath;
// 修改为协议自适应
$protocol = ($_SERVER['HTTPS'] ?? 'off') === 'on' ? 'https://' : 'http://';
$shareImg = $protocol.$_SERVER['HTTP_HOST'].parse_url($imgpath, PHP_URL_PATH);
六、微信端缓存清除方案
1. 在分享URL后添加版本号参数:
$shareUrl .= (strpos($shareUrl, '?') === false) ? '?v=' : '&v=';
$shareUrl .= date('YmdHis');
2. 调用微信清除缓存接口:
WeixinJSBridge.invoke('clearWebViewCache',{},function(res){});
若上述方案仍未解决,建议在DZ插件网技术社区(https://www.dz-x.net/)提交工单,附上:
1) Chrome开发者工具Network选项卡截图
2) 微信开发者工具JS-SDK调试信息
3) 服务器access_log相关片段
【注意事项】涉及数据库操作时,请务必先进行完整备份。若对代码修改有疑虑,建议联系专业开发者协助处理。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]