由于用的是百度bch,运行在nginx下 首先按网上教程修改 后台 >全局 > 站点 URL ,改为 https 开头的 后台 > 站长 > UCenter 设置 > UCenter 访问地址,修改为 https 开头的 UCenter 后台 > 应用管理 > 应用的主 URL ,修改为 https 开头 接着修改source\class\discuz目录内的 discuz_application.php 将第187行修改为: $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false; 删除第188行, 将第189行修改为: $_G['siteurl'] = dhtmlspecialchars('http'.($_G['isHTTPS'] ? 's' : '').'://'.$_SERVER['HTTP_HOST'].$sitepath.'/'); 然后,uc_server/avatar.php (约第 13 行处)查找: define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')))); 修改为: define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')))); 后台缓存清除,浏览器缓存清除,测试发现进入http排版混乱,是因为css文件还是http请求,被浏览器拒绝了。 想来是因为php的检测https代码与nginx不兼容。 于是修改discuz_application.php的 $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false; 为 $_SERVER['HTTPS']='on'; $_G['isHTTPS'] = true; 重新清除缓存后测试https开启成功。 但这样处理http域名进入后排版混乱,因为用https来请求没有证书的http域名,css之类的内容又被浏览器当做不安全而拒绝了。 于是继续修改,刚才这两行加个判断,发现是http的域名,返回false if (strtolower($_SERVER['HTTP_HOST'])=='xxx.xxx.cn'){ $_G['isHTTPS'] = false; } else { $_SERVER['HTTPS']='on'; $_G['isHTTPS'] = true; } 经测试,https和http都访问正常,虽然在http模式下也有一些内容会用https请求,但不影响效果。 然后登陆论坛,发现https又提示不安全了, uc_server/avatar.php 内的 define('UC_API', strtolower(($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')))); 修改为 define('UC_API', strtolower('https://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')))); 问题解决。 注意:后台清空重建缓存要进入https模式,否则如果用http域名登陆重建的缓存,会有很多http请求,导致https提示不安全。 |
东风夜放花千树 浙ICP备19024182号-2 浙公网安备 33078202001030号
GMT+8, 2024-11-12 04:05 , Processed in 0.030156 second(s), 15 queries .
Powered X3.4
© 2001-2017