Enable HTTP/2 on Nginx
Experimental support for HTTP/2 became available in Nginx version 1.9.5 (mainline). It is really easy to enable, and I’ll show you how.
Section
Experimental support for HTTP/2 became available in Nginx version 1.9.5 (mainline). It is really easy to enable, and I’ll show you how.
[Using HTTPS](https://www.bjornjohansen.com/securing-nginx-ssl) helps preventing someone from snooping your username/password or hijacking your sessions. [Using HSTS](https://www.bjornjohansen.com/optimizing-https-nginx) makes sure the connection stays on HTTPS, even if a MITM tries to redirect you to the plain HTTP version of a web site. But it is easier than you might think for a MITM to use a rogue certificate, making you believe everything is fine. HTTP Public Key Pinning (HPKP) helps the browser check that everything actually is fine.
Here are my slides from WordCamp Belgrade 2015: [HTTP/2 is here – Unlearn your optimization skills](https://www.bjornjohansen.com/wcbg15-slides/) If you’re having issues with the HTML version, you may [download a PDF here](https://www.bjornjohansen.com/content/uploads/2015/04/HTTP2.pdf).
As I’m writing this, the calendar shows April 14 2015. According to the [PHP 7.0 timeline](https://wiki.php.net/rfc/php7timeline), it has a projected release date of November 2015. But if you want to try it out (to check out the speed), you can already do so.
HHVM can really speed up your PHP-based web site. Most reports are somewhere in the range of 2–4x faster. Unfortunately, HHVM isn’t very stable and will suddenly die, just of the blue, from time to another. Fortunately, if you’re running Nginx it’s really easy to set up PHP-FPM as a fallback.
Fail2ban works by filtering a log file with a regular expression triggering a `ban` action if the condition is met. After a preset time, it will trigger an `unban` action. Without much effort, we can have WordPress log all authentication events and have fail2ban react on them.
If your fail2ban is on a host behind a Rackspace Cloud LoadBalancer, you’ll want to block the offending IP addresses directly in your LoadBalancer. If your LB is acting as a reverse proxy, you’ll HAVE to block in the LB, but it is also nice to protect all other nodes behind the LB and offload the lifting.
Since version 3.9, WordPress have been 100% compatible with [HHVM](http://hhvm.com/ "HipHop Virtual Machine") and I have begun replacing PHP with it on a few of my servers to experiment.
Any organization where multiple developers cooperate on a regular basis needs some guidelines to assure optimal quality of the end result. Most of these rules applies to freelancers as well.
OK, so you might have been at a WordCamp listening to talks or reading a few blog posts and you get that you should really get your WordPress site speed optimized. Starting all over isn't either tempting nor something you have the time for. Don't despair, you'll get a long way by installing 5 plugins.