Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 14855|Svar: 2

[Viden om hjemmesideopbygning] Om Discuz! (X3.1) Sådan aktiverer du https-kryptering

[Kopier link]
Opslået på 30/05/2015 23.42.13 | | |
Tiderne ændrer sig konstant, og vores behov for sikker kommunikation stiger. På Discuz X3 står der, at https understøttes, så efter jeg fik SSL-certifikatet, tilføjede jeg SSL til hjemmesiden, så snart jeg fik det. Men efter at have tilføjet det, fandt jeg ud af, at mange steder ikke brugte https-links, så jeg begyndte at tjekke Discuz-kildekoden for at se, hvad der var gået galt.
1. SSL-certifikat og konfiguration
For det første, for at aktivere SSL, skal du have et certifikat, ikke? Om det udstedes af en almindelig CA eller underskrives af én selv, er det ikke muligt at have ingen sikkerhed. Hvis ikke, så ansøg først om en. (Google venligst den specifikke metode, jeg vil ikke gå i detaljer her)
2、Discuz! Optimeret2.1. Procedurejustering
Fra Discuz! X3 har tilføjet understøttelse af https, og hvis du bruger https til at få adgang til forummet, bliver linkene i forummet til https. Hvis du opdager, at de fleste links allerede bruger https, betyder det, at Discuz automatisk har genkendt det, og du kan springe dette trin over og gå direkte til næste trin.
Discuz bruger $_SERVER['HTTPS'] til at vurdere SSL, men på grund af mit VPS-arkitekturproblem (nginx+php-fpm) kan det ikke genkendes på denne måde, så jeg er nødt til at lave nogle justeringer i Discuz-programmet (ved at bruge $_SERVER['SERVER_PORT']).
kilde/klasse/discuz/discuz_application.php (ca. linje 187):
Find:
  1. $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopier kode
Modificeret til:
  1. $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
Kopier kode
uc_server/avatar.php (ca. linje 13):
Find:
  1. define('UC_API', strtolower(($_SERVER['HTTPS'] == 'on' ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Kopier kode
Modificeret til:
  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'], '/'))));
Kopier kode
Efter modifikationen opdaterede jeg cachen og fandt ud af, at de fleste links blev til https.
2.2. Baggrundsindstillinger
Der er også indstillinger i baggrunden, som kan forstyrre brugen af https
I baggrunden sætter >webmasteren > UCenter den > UCenter-adgangsadresse, som er ændret til at starte med https
UCenter > Application Management > Applikationens hovedURL ændres til at starte med https
Derudover kan nogle indstillinger i baggrunden > globale > domænenavneindstillinger også ugyldiggøre https; hvis du har fulgt de tidligere trin og stadig ikke kan aktivere det, kan du midlertidigt slette indstillingerne her for at prøve.
3. Ryd cachen
Når indstillingerne er færdige, skal du rydde cachen for at aktivere.
Ryd cachen og hukommelsescachen, og hvis du sætter postcachen, skal du rydde cachen i databasen (tømme den tilsvarende cache-database, eller vente på, at cachen fejler).
På dette tidspunkt er Discuz https aktiveret med succes, og selvfølgelig kan låsen blive krydset, når man tilgår nogle sider. Fordi andet http-indhold indlæses på siden. Det kan være statistikkoder, QQ-delingskoder, QQ-show-avatarer osv., som ikke tilbyder https-protokol for nu, så de kan ikke aktiveres. Vent bare på, at Discuz understøtter https yderligere.





Tidligere:2015 Google I/O-konference Ny Produktkollektion
Næste:Nginx selv-opstart fejlede
Opslået på 01/06/2015 17.05.36 |
Forumet ønsker at muliggøre SSL-krypteret transmissionsteknologi
Opslået på 03/01/2018 13.57.42 |
Direct $_G['isHTTPS'] = sand;
define('UC_API', strtolower('https://'.$_SERVER['HTTP_HOST'].substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'))));
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com