server {
  listen      80;
  server_name skfiddle.com;
  return 301 https://fiddle.skia.org$request_uri;
}
server {
  listen      443;
  server_name skfiddle.com;
  ssl on; 
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers 'AES128+EECDH:AES128+EDH';
  ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;
  ssl_certificate         /etc/nginx/ssl/skfiddle_com.pem;
  ssl_certificate_key     /etc/nginx/ssl/skfiddle_com.key;
  return 301 https://fiddle.skia.org$request_uri;
}
