Kako da rešite najčešće SSL / HTTPS probleme u WordPress-u Idi do glavnog sadržaja

Kako da rešite najčešće SSL / HTTPS probleme u WordPress-u

Aktivacija SSL-a (HTTPS) na WordPress veb-sajtu nekada može da bude problem. Srećom za većinu tih problema postoji rešenje. U ovom tekstu ćemo objasniti kako da rešite najčešće HTTPS / SSL probleme u WordPress-u.

Šta je SSL / HTTPS?

SSL / HTTPS je metoda enkripcije koja obezbeđuje sigurnu vezu između browser-a korinika i veb-hosting servera nekog veb-sajta. Na taj način sva komunikacija između browser-a i tog sajta postaje zaštićena, a svi podaci koji se tom prilikom razmenjuju na relaciji browser-veb-server ostaju daleko od radoznalih očiju raznih zlonamernih korisnika na Internetu.

Svaki sajt na kojem je aktiviran SSL / HTTPS ima jedinstveni sertifikat za potrebe identifikacije kod razmene podataka. Ukoliko je SSL / HTTPS aktivan browser će address bar-u prikazati ikonicu katanca.

Address bar poruka SSL

Svi savremeni browser-i će vas upozoriti ukoliko neki sajt nema aktiviran SSL / HTTPS. Ovo upozorenje je, u zavisnosti od browser-a koji koristite, može biti u vidu ikonice sa znakom opasnosti umesto katanca, precrtanim katancem, ili u vidu pop-up prozora sa upozorenjem da sajt nije siguran.

Osim što je važno da posetiocima vašeg sajta obezbedite SSL / HTTPS da sigurno pregledaju sadržaj vašeg sajta, važno je da to uradite i zbog vašeg SEO-a, ali generalno i zbog same reputacije vašeg sajta i vašeg online poslovanja. HTTPS / SSL je obavezan ukoliko planirate da pokrenete webshop / e-commerce sajt.

Iako je aktivacija SSL-a / HTTPS-a relativno jednostavan proces, nekada jednostavno dođe do problema zbog kojih on ne može biti pravilno aktiviran.

U ovom tekstu ćemo objasniti kako da rešite neke od najčešćih problema koji mogu nastati prilikom / nakon aktivacije SSL / HTTPS-a.

Greška ”NET::ERR_CERT_INVALID”

Ova poruka se javlja u Google Chrome-u. Ostali browser-i prikazuju nešto drugačiju poruku, ali je u principu to upozorenje da konekcija ka tom konkretnom veb-sajtu nije sigurna (privatna).

Poruka koju daje Google Chrome

Ova poruka znači da browser posetioca sajta nije prihvatio sertifikat veb-sajta. Ovo se može desiti iz nekoliko razloga:

  • SSL sertifikat je izdat za neki drugi domen ili podddomen
  • Sertifikat je istekao
  • Browser nije prepoznao izdavaoca sertifikata

Da biste u dužem periodu mogli da koristite SSL sertifikat, morate da ga kupite. Dobar deo hosting kompanija u nekim paketima svojih usluga nude i besplatan SSL sertifikat. Plus Hosting nudi besplatan SSL već svojoj osnovnoj ponudi hosting paketa.

Ukoliko se ova greška pojavila na vašem sajtu, probajte da je rešite na sledeći način: Ulogujte se na cPanel i potražite sekciju pod nazivom Security, a zatim aplikaciju pod nazivom SSL/TLS. Kliknite na ovu aplikaciju i otvoriće vam se prozor kao na slici ispod.

SSL / TLS aplikacija u cPanel-u

Sa desne strane pronađite i kliknite na CERTIFICATES (CRT). Iz liste sertifikata na serveru pronađite onaj koji je vezan za vaš domen / poddomen i kliknite na Delete.

Tako uradite za svaki sertifikat koji je vezan za vaš dome / poddomen. Zatim ponovite proces instalacije klikom na Install. Proces je prilično intuitivan pa ne bi trebalo da imate problem sa ponovnom instalacijom sertifikata.

Ujedno, ponovnom instalacijom problem bi trebalo da bude rešen.

Greška ”Mixed Content”

Greška pod nazivom Mixed content se javlja kada na vašem sajtu postoje fajlovi koji učitavaju sadržaj sa eksternih izvora (izvan vašeg veb-sajta) koji nisu HTTPS (HTTP). S obzirom da browser može da detektuje takav sadržaj, on će nakon učitavanja vašeg sajta izbaciti poruku sa greškom da sajt nije siguran.

Ovu grešku je relativno lako rešiti. Poznato je da mi ne preoručujemo da često instalirate plugin-ove, ali ovo je jedna od situacija u kojoj je bolje i sigurnije da koristite plugin. U suštini plugin će u ovom slučaju odraditi samo jedan deo posla, dok ćete ostalo morati da uradite ručno. Srećom to je onaj lakši deo posla.

Iz WordPress repozitorijuma instalirajte i aktivirajte plugin pod nazivom Better Search Replace. Ovaj alat će vam pomoći da u vašoj WordPress bazi pronađete sve URL-ove koji počinju sa HTTP (umesto sa HTTPS), jer su to oni zbog kojih vam se javlja greška.

Aktivacija Better Search Replace

U Dashboard-u ideite na Tools Better Search Replace.

Better Search Replace interfejs

U polje Search for unesite naziv vašeg sajta sa prefiksom http:// a u polje Replace with naziv vašeg sajta sa prefiksom https://. Pređite na polje Select tables i klknite kombinaciju tastera Ctrl + A da biste selektovali sve tabele. Polje Run as dry run? Za sada ostavite čekirano, što znači da plugin neće odmah ništa menjati već će samo proveriti vrednosti u bazi. Za svaki slučaj uradite bekap baze pre nego što nastavite.

Na kraju kliknite na dugne Run Search / Replace. Ako ne izbaci nikakvu grešku sada odčekirajte Run as dry run? I ponovo kliknite na Run Search / Replace da biste primenili izmene.

Ako je sve prošlo kako treba, plugin je sada izmenio sve vaše HTTP URL-ove u HTTPS. Ujedno time bi trebalo da je otklonjena greška Mixed content.

Ukoliko se kojim slučajem i dalje javlja ista greška, onda ćete morati ručno da potražite grešku i ispravite je. Ovo podrazumeva da uz pomoć Inspect tool-a (Developer tools) pronađete HTTPS link i ispravite ga ručno u bazi. Alternativno možete skenirati vaš sajt na non-SSL linkove uz pomoć online alata JitBit . Bez obzira na način na koji ćete detektovati problem, ako niste sigurni da znate šta radite, naša preporuka je da za ovo ipak angažujete profesionalca.

Greška ”Too Many Redirects”

WordPress dozvoljava da primorate SSL / HTTPS da radi za logovanje na Admin strani. To možete postići dodavanjem sledećeg koda u wp-config.php fajl na serveru vašeg sajta..

define('FORCE_SSL_ADMIN', true);

Sa druge strane, u nekim slučajevima ova izmena može da izazove grešku Too Many Redirects. Da biste to ispravili potrebno je da na kraj wp-config.php fajla (pre dela That’s all, stop editing! Happy blogging) unesete sledeći kod:

define('FORCE_SSL_ADMIN', true);
// in some setups HTTP_X_FORWARDED_PROTO might contain
// a comma-separated list e.g. http,https
// so check for https existence
if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
$_SERVER['HTTPS']='on';

Redirekcija sa HTTP na HTTPS

Ovo nije greška, ali je bitno da znate o čemu se radi. WordPress neće automatski prebaciti HTTPS zahteve na HTTPS osim ukoliko mu to ne kažete da uradi. Ako kloristite plugin kao pto je na primer Really Simple SSL on će se sam pobrinuti za redirekciju. Ukoliko ne koristite plugin, onda ćete morati to da podesite ručno dodavanjem sledećeg koda u .htaccess fajl na vašem serveru.

RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

U ovom tekstu smo vam objasnili kako da rešite neke od najčešćih grešaka koje se mogu pojaviti nakon aktivacije SSL / HTTPS-a na vašem sajtu. Ukoliko naiđete na neki drugi problem, ili negde zapnete u rešavanju ovih koje smo predstavili, pišite nam u komentarima i rado ćemo vam pomoći da ga rešite.

Nenad Mihajlović


Ostavite odgovor