Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖

[求助] 于是后台安装了一个插件

[复制链接]
老周部落 发表于 2020-3-24 11:00:05 | 显示全部楼层
jingyuan69 发表于 2020-3-24 09:49
你好,我咨询了服务器方说我的网站是独立ip,域名也是直接解析到ip地址的, 根本没有用cdn,并 ...

另外,在他指出的这个文件 ( https://gitee.com/ComsenzDiscuz/DiscuzX/blob/master/upload/uc_server/avatar.php#L14 ) 的14行,是有HTTPS的判断代码的。

  1. define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
复制代码
回复

使用道具 举报

 楼主| jingyuan69 发表于 2020-3-24 11:50:12 | 显示全部楼层
老周部落 发表于 2020-3-24 10:49
要么这样,您在站点底下新建一个test.php,内容如下,完了您看看返回值是不是on,这里返回on,系统才会认 ...


感谢你的回复,咨询服务器得出这样的回复。这是程序考虑不周全,不能兼容有代理的情况,如果要完全兼容各种环




您好,登陆 您服务器后核实,是因为您是用建站助手搭建的https,因为iis7不支持多站点部署https,所以建站助手开发就设计了前端nginx代理iis的方式,如果您直接在iis上部署https,就可以直接用$_SERVER['HTTPS']获取https状态,现在您需要用

$_SERVER['HTTP_FROM_HTTPS']        获取on,

这是程序考虑不周全,不能兼容有代理的情况,如果要完全兼容各种环境,

获取https判断的时候要多条件判断,参考代码:


<?php

$http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER["HTTP_FROM_HTTPS"])&&$_SERVER["HTTP_FROM_HTTPS"]=='on')||(isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';

echo $http_type . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

?>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

老周部落 发表于 2020-3-24 13:16:39 | 显示全部楼层
jingyuan69 发表于 2020-3-24 11:50
感谢你的回复,咨询服务器得出这样的回复。这是程序考虑不周全,不能兼容有代理的情况,如果要 ...

您好,方便发我一下“建站助手”的介绍页面么,因为HTTP_FROM_HTTPS这个头信息我没找到相关的标准化信息。
回复

使用道具 举报

老周部落 发表于 2020-3-24 13:21:13 | 显示全部楼层
jingyuan69 发表于 2020-3-24 11:50
感谢你的回复,咨询服务器得出这样的回复。这是程序考虑不周全,不能兼容有代理的情况,如果要 ...

另外目前的版本只支持端到端HTTPS,我们会尽量推动上游合并非端到端的情况(客户端到代理是HTTPS,代理到服务器是HTTP),但是具体合并和发版周期不能保证。
回复

使用道具 举报

 楼主| jingyuan69 发表于 2020-3-24 14:42:53 | 显示全部楼层
老周部落 发表于 2020-3-24 13:16
您好,方便发我一下“建站助手”的介绍页面么,因为HTTP_FROM_HTTPS这个头信息我没找到相关的标准化信息 ...

就是西部数码的,https://www.west.cn/services/vhostsoft/

回复

使用道具 举报

老周部落 发表于 2020-3-24 14:49:46 | 显示全部楼层
jingyuan69 发表于 2020-3-24 11:50
感谢你的回复,咨询服务器得出这样的回复。这是程序考虑不周全,不能兼容有代理的情况,如果要 ...

我这边统计了一下常见的代理头,您按照 https://gitee.com/laozhoubuluo/DiscuzX/commit/31fdc7675fc849706d18122350b413bf752b0f63 修改一下代码,应该就能支持了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-25 02:56 , Processed in 0.022846 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表