• xsz.tw 不带广告的小说站
  • down.tw 资源、下载站
  • dushu.tw 读书网、小说免费阅读网站

xunruiCMS无法识别HTTPS证书解决办法

程序 举个栗子 3个月前 (02-26) 127次浏览 0个评论 扫描二维码

系统体检时提示:服务器无法识别HTTPS证书

方案一:服务器开启强制 https 模式,我们以宝塔服务器为例:

xunruiCMS 无法识别 HTTPS 证书解决办法

开启这项就 ok 了

如果还是不行,就往下

方案二:让服务商帮你修改服务器配置,文章内容来自网上,内容如下:

检查 nginx 反向代理配置文件的 ssl 配置部分。

upstream xxxx.com {
        server 10.10.10.208:80;
}
server{
    listen 443; 
    server_name xxxx.com;
    ssl                  on;
    ssl_certificate      /etc/nginx/crt/xxxx.com/xxxx.com.crt;
    ssl_certificate_key  /etc/nginx/crt/xxxx.com/xxxx.com.key;
    ssl_session_timeout  5m;
    location / {
        proxy_pass         http://xxxx.com;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

发现上述配置文件 ssl 证书正常,但是 PHP 获取不到 X-Forwarded-Proto 或者HTTPS的变量值,尝试在反向代理配置中加入以下配置:

proxy_set_header   X-Forwarded-Proto $scheme;

再次通过 php 调试打印出现 https 内容:

[HTTP_X_FORWARDED_PROTO] => https
[HTTPS] => on

再次访问 PHP 的内容已经恢复正常。

Apache 中的配置

RequestHeader set X-Forwarded-Proto "https"

X-Forwarded-Proto(XFP)报头是用于识别协议(HTTP 或 HTTPS),其中使用的客户端连接到代理或负载平衡器一个事实上的标准报头。您的服务器访问日志包含在服务器和负载平衡器之间使用的协议,但不包括客户端和负载平衡器之间使用的协议。要确定客户端和负载平衡器之间使用的协议,X-Forwarded-Proto 可以使用请求标头。

此标头的标准化版本是 HTTP Forwarded 标头。

句法

X-Forwarded-Proto: <protocol>

指令

<protocol> 转发的协议(http 或 https)。

例子

X-Forwarded-Proto: https

其他非标准形式:

# Microsoft
Front-End-Https: onX-Forwarded-Protocol: https 
X-Forwarded-Ssl: on 
X-Url-Scheme: https

如果还是不行,就往下

方案三:手动设置 https 识别方法,打开根目录的 index.php

// 手动修复 https 识别文件
define('IS_HTTPS_FIX', 1);

把这段代码放到 index.php 里面,如下所示

xunruiCMS 无法识别 HTTPS 证书解决办法

 


举个栗子 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:xunruiCMS 无法识别 HTTPS 证书解决办法
喜欢 (0)
举个栗子
关于作者:
建筑工地上施工员,闲暇时弄个博客打发时间,
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址