Spravne nastavene server variables pro FastCGI pres NGINX
Po prechodu na PHP-FPM nam zacala zlobit aplikace, ultimate redirect.
Zjistill jsem, ze aplikace nam posila 301 a adresu nasi aplikace obohacenout o port 80.
Po 3 hodinach bylo jasne, ze se aplikace snazi aplikace presmerovat na non-HTTPS verzi. Ale proc? HTTPS zapnute nebylo?
NGINX od verze 1.1.11 defaultne nepredeva informaci o tom, zda je pripojeni zabezpecene ci nikoliv, toto zprostredkovava tento radek:
fastcgi_param HTTPS $https;
pokud $https neni nastavene; preda se prazdna hodnote ''
pokud pouzivate SSL, neni to problem, hodnota bude 'on'
nette s touto operaci pracuje, a pokud HTTPS nechce tak se snazi nas presmerovat na non-HTTPS, ale chudinka je furt presvedcena o tom, ze mi SSL pouzivame, tak to zase posle.
Reseni pro non-ssl (pokud musite mit HTTPS v server variables)
nginx configuration:
fastcgi_param HTTPS off;
Reseni pro ssl-enabled:
fastcgi_param HTTPS on;
fastcgi_param SSL_PROTOCOL $ssl_protocol;
fastcgi_param SSL_CIPHER $ssl_cipher;
fastcgi_param SSL_SESSION_ID $ssl_session_id;
fastcgi_param SSL_CLIENT_VERIFY $ssl_client_verify;
Credits: http://claylo.com/post/7617674014/ssl-php-fpm-and-nginx
Univerzalnejsi a lepsi reseni, pokud vam bude stacit, ze tam pro non-SSL HTTPS nebude vubec:
fastcgi_param HTTPS $https if_not_empty;