Nginx, SPDY, Google PageSpeed, Debian, gotowy z paczki
SSL zakupiony więc fajnie mieć coś więcej niż szyfrowanie bloga. O protokole SPDY można znaleść dużo informacji w necie więc nie bedę się tutaj o tym rozpisywał.
W pierwszej kolejności musimy dodać repo dotdeb do naszego systemu, do pliku /etc/apt/sources.list dodajemy wpisy.
vim /etc/apt/sources.list deb http://packages.dotdeb.org wheezy all deb-src http://packages.dotdeb.org wheezy all
oraz dodajemu klucz GPG
wget http://www.dotdeb.org/dotdeb.gpg apt-key add dotdeb.gpg
Teraz możemy zainstalować przygotowanego nginx z obsługa SPDY oraz pagespeed.
apt-get install nginx-extras
Poniżej gotowy kawałek konfiguracji dla nginx z wykorzystaniem SPDY, w konfiguracji jest też zablokowany SSLv3:
server {
listen 80 default;
server_name domena.pl www.domena.pl;
rewrite ^/(.*) https://www.domena.pl/$1 permanent;
}
server {
listen 443 ssl spdy;
access_log /var/www/domena.pl/domena.pl/log/access.log main; #access logi
error_log /var/www/domena.pl/domena.pl/log/error.log; # error logi
server_name www.domena.pl;
server_tokens off;
pagespeed on;
root /var/www/domena.pl/app;
ssl on;
ssl_stapling on;
ssl_stapling_verify on;
ssl_certificate /var/www/domena.pl/ssl/certyfikat.crt;
ssl_certificate_key /var/www/domena.pl/ssl/certyfikat.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_global_statistics { allow 127.0.0.1; deny all; }
location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
location /pagespeed_console { allow 127.0.0.1; deny all; }
location / {
index index.html; # jakie plik sa indeksem strony
}
location ~ /\.ht {
deny all;
}
}
Przetestować poprawność działania SPDY możmy na stronie http://spdycheck.org/
Wynik powinien wygladać tak: