Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 14855|Svar: 2

[Kunskap om webbplatsbyggande] Om Discuz! (X3.1) Hur man aktiverar https-kryptering

[Kopiera länk]
Publicerad på 2015-05-30 23:42:13 | | |
Tiderna förändras ständigt, och vår efterfrågan på säker kommunikation ökar. På Discuz X3 står det att https stöds, så efter att jag fått SSL-certifikatet lade jag till SSL på webbplatsen så fort jag fick det. Men efter att ha lagt till det upptäckte jag att många ställen inte använde https-länkar, så jag började kolla Discuz-källkoden för att se vad som gick fel.
1. SSL-certifikat och konfiguration
För det första, för att aktivera SSL måste du ha ett certifikat, eller hur? Om det utfärdas av en vanlig CA eller är undertecknat av en själv, är det omöjligt att vara osäker. Om inte, ansök om en först. (Vänligen googla den specifika metoden, jag kommer inte gå in på detaljer här)
2、Discuz! Optimerad2.1. Justering av procedur
Från Discuz! X3 har lagt till stöd för https, och om du använder https för att komma åt forumet blir länkarna i forumet https. Om du upptäcker att de flesta länkar redan använder https betyder det att Discuz automatiskt har känt igen det, och du kan hoppa över detta steg och gå direkt till nästa steg.
Discuz använder $_SERVER['HTTPS'] för att bedöma SSL, men på grund av mitt VPS-arkitekturproblem (nginx+php-fpm) kan det inte kännas igen på detta sätt, så jag behöver göra några justeringar i Discuz-programmet (med $_SERVER['SERVER_PORT']).
källa/klass/discuz/discuz_application.php (ca rad 187):
Hitta:
  1. $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopiera koden
Modifierad till:
  1. $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopiera koden
uc_server/avatar.php (ungefär rad 13):
Hitta:
  1. define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Kopiera koden
Modifierad till:
  1. 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'], '/'))));
Kopiera koden
Efter ändringen uppdaterade jag cachen och upptäckte att de flesta länkarna blev https.
2.2. Bakgrundsinställningar
Det finns också inställningar i bakgrunden som kan störa användningen av https
I bakgrunden ställer >webbmastern > UCenter in > UCenter-åtkomstadressen, som ändras till att börja med https
UCenter > Application Management > Huvudadressen till applikationen ändras till att börja med https
Dessutom kan vissa inställningar i bakgrunden > globala > domännamnsinställningar också ogiltigförklara https, om du har tagit de tidigare stegen och fortfarande inte kan aktivera det kan du tillfälligt radera inställningarna här för att prova.
3. Rensa cachen
När inställningarna är klara behöver du rensa cachen för att de ska träda i kraft.
Rensa cachen och minnescachen, och om du sätter postcachen måste du rensa cachen i databasen (tömma motsvarande cachedatabas eller vänta tills cachen misslyckas).
Vid denna punkt är Discuz https framgångsrikt aktiverad, och naturligtvis kan låset korsas när man kommer åt vissa sidor. För att annat http-innehåll laddas in på sidan. Det kan vara statistikkoder, QQ-delningskoder, QQ-visa-avatarer, etc., som för tillfället inte tillhandahåller https-protokoll, så de kan inte aktiveras. Vänta bara på att Discuz ska fortsätta stödja https.





Föregående:2015 Google I/O-konferens Ny produktkollektion
Nästa:Nginx självuppstart misslyckades
Publicerad på 2015-06-01 17:05:36 |
Forumet vill möjliggöra SSL-krypterad överföringsteknologi
Publicerad på 2018-01-03 13:57:42 |
Direct $_G['isHTTPS'] = sann;
define('UC_API', strtolower('https://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com