可道云配置

geteshi
2024-05-26 / 0 评论 / 18 阅读 / 正在检测是否收录...

修改的东西

app/function/web.function.php

// 增加最后的判断: || $_SERVER['HTTP_CF_VISITOR']
function http_type(){
    if( (isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') ||
        (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') ||
        $_SERVER['SERVER_PORT'] === 443 || $_SERVER['HTTP_CF_VISITOR']
    ){
        return 'https';
    }
    return 'http';
}

function get_host() {
    $httpType = http_type();
    // 增加这里
    $port = $_SERVER['SERVER_PORT']=='80' ? '' : ':'.$_SERVER['SERVER_PORT'];
    $host = $_SERVER['SERVER_NAME'].$port;
    $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'].$port : $host;
    // 修改的内容结束
    if(isset($_SERVER['HTTP_X_FORWARDED_HOST'])){//proxy
        $hosts = explode(',', $_SERVER['HTTP_X_FORWARDED_HOST']);
        $host  = trim($hosts[0]);
    }else if(isset($_SERVER['HTTP_X_FORWARDED_SERVER'])){
        $host  = $_SERVER['HTTP_X_FORWARDED_SERVER'];
    }
    
    // 如果域名相同 则根据referer自适应https;
    if(isset($_SERVER['HTTP_REFERER'])){
        $urlInfo = parse_url($_SERVER['HTTP_REFERER']);
        if($urlInfo['host'] == trim($host,'/')){
            if($httpType == 'http' && $urlInfo['scheme'] == 'https'){$httpType = 'https';}
        }
    }
    return $httpType.'://'.trim($host,'/').'/';
}

最新的安装包反代的时候有问题,下载以前的

https://static.kodcloud.com/update/download/kodbox.1.40.zip

0

评论 (0)

取消