|
Laiki nepārtraukti attīstās, un mūsu pieprasījums pēc drošas saziņas pieaug. Discuz X3 ir teikts, ka https tiek atbalstīts, tāpēc pēc SSL sertifikāta saņemšanas es pievienoju SSL vietnei, tiklīdz es to saņēmu. Bet pēc tā pievienošanas es atklāju, ka daudzās vietās netiek izmantotas https saites, tāpēc es sāku pārbaudīt Discuz avota kodu, lai redzētu, kas nogāja greizi. 1. SSL sertifikāts un konfigurācijaPirmkārt, lai iespējotu SSL, jums ir jābūt sertifikātam, vai ne? Neatkarīgi no tā, vai to izdevusi parasta CA vai parakstījusi pats, nav iespējams būt pārliecībai. Ja nē, vispirms piesakieties vienam. (Lūdzu, google konkrēto metodi, es šeit neiedziļināšos) 2 、 Disks! Optimizēts2.1. Procedūras pielāgošanaNo Discuz! X3 ir pievienojis atbalstu https, un, ja izmantojat https, lai piekļūtu forumam, saites forumā kļūs par https. Ja konstatējat, ka lielākā daļa saišu jau izmanto https, tas nozīmē, ka Discuz to ir automātiski atpazinis, un jūs varat izlaist šo soli un doties tieši uz nākamo soli. Discuz izmanto $_SERVER['HTTPS'], lai spriestu par SSL, bet manas VPS arhitektūras problēmas dēļ (nginx+php-fpm) to nevar atpazīt šādā veidā, tāpēc man ir jāveic dažas korekcijas Discuz programmā (izmantojot $_SERVER['SERVER_PORT']). avots/klase/discuz/discuz_application.php (c. 187. rinda): Atrast: - $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopēt koduModificēts uz: - $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopēt koduuc_server/avatar.php (aptuveni 13. rinda): Atrast: - define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Kopēt koduModificēts uz: - 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'], '/'))));
Kopēt koduPēc modifikācijas es atjaunināju kešatmiņu un atklāju, ka lielākā daļa saišu kļuva par https. 2.2. Fona iestatījumiFonā ir arī iestatījumi, kas var traucēt https izmantošanu Fonā >webmaster > UCenter iestata > UCenter piekļuves adresi, kas tiek modificēta, lai sāktu ar https UCenter > lietojumprogrammu pārvaldības > Lietojumprogrammas galvenais URL tiek modificēts, lai sāktu ar https Turklāt daži fona iestatījumi > globālie > domēna nosaukuma iestatījumi var arī padarīt nederīgus https, ja esat veicis iepriekšējās darbības un joprojām nevarat to iespējot, varat īslaicīgi izdzēst iestatījumus šeit, lai mēģinātu. 3. Notīriet kešatmiņuKad iestatījumi ir pabeigti, jums ir jānotīra kešatmiņa, lai iestatījumi stātos spēkā. Notīriet kešatmiņu un atmiņas kešatmiņu, un, ja iestatāt ziņu kešatmiņu, jums ir jātīra kešatmiņa datu bāzē (iztukšojiet atbilstošo kešatmiņas datu bāzi vai pagaidiet, līdz kešatmiņa neizdodas). Šajā brīdī Discuz https ir veiksmīgi iespējots, un, protams, piekļūstot dažām lapām, slēdzene var tikt šķērsota. Jo lapā tiek ielādēts cits http saturs. Tas var būt statistikas kodi, QQ koplietošanas kodi, QQ šovu iemiesojumi utt., Kas pagaidām nenodrošina https protokolu, tāpēc tos nevar iespējot. Vienkārši pagaidiet, kamēr Discuz turpinās atbalstīt https.
|