When: loading client certificates from a custom keystore Reason: multiple certificates for the same domain but different purposes, e.g. one certificate handles email authentication, the other authenticates the user against a web server Solution: either fix the buggy code that selects the wrong certificate from the keystore or make sure only one certificate per domain … Continue reading SSLHandshakeException: unsupported certificate
Author: George Georgovassilis
Spring MVC REST controller says 406 when emails are part URL path
You've got this Spring @RestController and mapped a URL that contains an email as part of the URL path. You cunningly worked around the dot truncation issue [1] and you are ready to roll. And suddenly, on some URLs, Spring will return a 406 [2] which says that the browser requested a certain content type … Continue reading Spring MVC REST controller says 406 when emails are part URL path
Monitoring for the private Docker cloud project
A few days ago I blogged about my holiday project (Building a private cloud with Docker [1]) which is just a proof of concept as it lacks important features. One of them is monitoring which is a tough topic in cluster environments. There are a few open source, free to use monitoring solutions for Docker … Continue reading Monitoring for the private Docker cloud project
Building a private cloud with Docker
Abstract: In this post I'll describe how to create a private cloud with Docker, Varnish and a lot of shell scripting on a set of private (virtual) servers. This post assumes intermediate knowledge of related techniques. I will still once in a while go into setup details because, well, this is also an exercise for … Continue reading Building a private cloud with Docker
Tomcat starts slowly in docker container
Just a little reminder to self: when running Tomcat with Java 8 in an Ubuntu Docker container, Tomcat will take a very long time (minutes!) to start with even the simplest web application. The issue is actually documented (not entirely Docker-related). The solution is to modify JAVA_OPTS to use a different random device: JAVA_OPTS=-Djava.security.egd=file:/dev/urandom
