|
Aika muuttuu jatkuvasti, ja turvallisen viestinnän tarve kasvaa. Discuz X3:ssa sanotaan, että https on tuettu, joten kun sain SSL-sertifikaatin, lisäsin SSL:n sivustolle heti kun sain sen. Mutta lisättyäni sen huomasin, että monissa paikoissa ei käytetty https-linkkejä, joten aloin tarkistaa Discuzin lähdekoodia nähdäkseni, mikä meni pieleen. 1. SSL-sertifikaatti ja konfiguraatioEnsinnäkin, SSL:n aktivoimiseksi sinulla täytyy olla sertifikaatti, eikö niin? Onko se sitten tavallisen CA:n myöntämä vai allekirjoittanut itse, ei ole mahdollista olla varma. Jos et, hae ensin sellaista. (Ole hyvä ja googlaa tarkka menetelmä, en mene yksityiskohtiin tässä) 2、Discuz! Optimoitu2.1. Menettelyn säätöDiscuzilta! X3 on lisännyt https-tuen, ja jos käytät https:ää päästäksesi foorumille, foorumin linkit muuttuvat httpsiksi. Jos huomaat, että suurin osa linkeistä käyttää jo https:ää, se tarkoittaa, että Discuz on tunnistanut sen automaattisesti, ja voit ohittaa tämän vaiheen ja siirtyä suoraan seuraavaan vaiheeseen. Discuz käyttää $_SERVER['HTTPS'] SSL:n arviointiin, mutta VPS-arkkitehtuuriongelmani (nginx+php-fpm) vuoksi sitä ei voi tunnistaa tällä tavalla, joten minun täytyy tehdä joitakin säätöjä Discuz-ohjelmaan (käyttäen $_SERVER['SERVER_PORT']). lähde/luokka/discuz/discuz_application.php (c. rivi 187): Löydä: - $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopioi koodiMuokattu: - $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopioi koodiuc_server/avatar.php (noin rivi 13): Löydä: - define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Kopioi koodiMuokattu: - 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'], '/'))));
Kopioi koodiMuokkauksen jälkeen päivitin välimuistin ja huomasin, että suurin osa linkeistä muuttui https:ksi. 2.2. TaustaasetuksetTaustalla on myös asetuksia, jotka voivat häiritä https:n käyttöä Taustalla >webmaster > UCenter asettaa > UCenterin pääsyosoitteen, joka muokataan aloittamaan https UCenter > Application Management > Sovelluksen pääosoitetta muokataan alkamaan https Lisäksi taustalla olevat asetukset > globaalit > verkkotunnuksen asetukset voivat myös mitätöidä https:n; jos olet tehnyt aiemmat vaiheet etkä vieläkään voi ottaa sitä käyttöön, voit väliaikaisesti poistaa asetukset täältä ja kokeilla. 3. Tyhjennä välimuistiKun asetukset ovat valmiit, sinun täytyy tyhjentää välimuisti, jotta asetukset astuvat voimaan. Puhdista välimuisti ja muistivälimuisti, ja jos asetat jälkikätkön, sinun täytyy puhdistaa välimuisti tietokannasta (tyhjennä vastaava välimuistitietokanta tai odota, että välimuisti hajoaa). Tässä vaiheessa Discuz https on onnistuneesti käytössä, ja tietysti joillakin sivuilla lukitus voi ylittyä. Koska muu http-sisältö ladataan sivulle. Se voi olla tilastokoodeja, QQ-jakokoodeja, QQ-näyttöavatareja jne., jotka eivät tällä hetkellä tarjoa https-protokollaa, joten niitä ei voi ottaa käyttöön. Odota vain, että Discuz tukee https:ää lisää.
|