» » WordPress na CloudFlare-ovom SSL-u

WordPress na CloudFlare-ovom SSL-u

postavljeno u: Webtech | 2

Danas je moguće lako i besplatno imati kriptovanu vezu između servera i korisnika uz pomoć fantastičnog servisa CloudFlare.

Za postavljanje besplatnog SSl-a imamo dve opcije. Fleksibilnu ili potpunu. Fleksibilna podrazumeva da imaš bilo kakav server, čak i onaj koji ne podržava SSL, tako što veza server CloudFlare nije kriptovana, već samo veza CloudFlare klijent. Nije potreban digitalni potpis na serveru uopšte.
Potpuna SSL podrška podrazumeva da imate na serveru digitalni potpis koji ste sami izdali. U ovoj varijanti su obe veze, server CloudFlar-e, CloudFlare klijent kriptovane. Ove opcije postoje na kartici Crypto u administratorskom delu CloudFlare-a.

Par stvari je potrebno podesiti ako se odlučiš da koristiš ovu prekopotrebnu opciju.

U slučaju izbora fleksibilne enkripcije dovoljno samo izabrati tu opciju i instalirati dodatke u WordPress. Opcija potpune enkripcije konencija zahteva da imate digitalni potpis na serveru. Taj potpis se veoma lako generiše iz cPanel-a, u delu koji se tako i zove, SSL/TLS.

Drugi korak je postavljanje dodataka koji će ispraviti neke greške u WordPress-u i prilagoditi veze za enkripciju.

Konkretno ovde je postavljen dodatak CloudFlare za bolju komunikaciju WordPress-a i servisa CloudFlare, kao i SSL Insecure Content Fixer dodatak koji izpravlja veze u bazi, pa od svih unosa lokalnih URL-a sa prefiksom http:// uspravlja u https://

Sve je bio u redu, bar na prvi pogled. Enkripcija radi, WordPress radi, svi linkovi su https://, katanac na početku polja URL-a u mom bravzeru zelen, all green!

Vratim se na prozor sa administratorkim delom, kliknem nešto pa krene da se učitava. Bum.. ništa! Kaže upao je u neku beskonacnu petlju sa redirekcijama. Odnoson zavrteo se u krug, nije znao šta će i gde će pa umro.

WordPress ima nešto što i nije greškam, ali mora da bude podešeno ako se koristi SSL, jer administratorski deo zbog prijave ima specifične načine manipulisanja sesijom i kolačićima.

Nakon pretage dodatka shvatio sam da je najbolje rešenje da samo dodam 4 linije koda u wp-config.php odmah iznad require_once(ABSPATH . ‘wp-settings.php’);

define('FORCE_SSL_ADMIN', true);
define('FORCE_SSL_LOGIN', true);
if( isset($_SERVER['HTTP_CF_VISITOR']) && strpos($_SERVER['HTTP_CF_VISITOR'], 'https') )
$_SERVER['HTTPS']='on';

Na kraju kao što je to očigledno, sve radi kako treba, ali ova kao bilo koja druga internet lokacija zahteva odrzavanje i zatezanje u kontinuitetu.