Cómo poner tu sitio en "huelga" (mantenimiento) en nginx

En menos de lo que canta un gallo es 18 de enero de 2011, y lo que quiere decir es que vamos a cerrar el sitio web de Mozilla Hispano en protesta por las leyes SOPA y PIPA en Estados Unidos, y su homóloga y ya aprobada la ley Sinde-Wert en España, junto a otras leyes que se han gestado en diferentes países de hispanoamérica, como la ley Döring en México, Lleras en Colombia (por suerte no aprobada) y por lo que pueda venir.

Para ello hemos tenido que configurar Nginx (nuestro servidor frontend) para que sirva una página de protesta, al mismo tiempo que la web no sea penalizada por ello (en Google, por ejemplo). Lo que hay que hacer principalmente es que todas las peticiones NO sean redirigidas y en su haber se encuentre una respuesta 503 por parte del servidor. Así que manos a la obra…

Tenemos que buscar el archivo de configuración de nuestro sitio, que si usamos un Debian o derivado estará en /etc/nginx/sites-enabled/nuestrositio.com.conf.

Ahora, en la parte del «server» principal (el que escucha a una IP y nombre de dominio, por poner una configuración que suele haber ahí), tenemos que añadir el código:

##
# Para SOPA, strike o incluso mantenimiento.
# Sólo habría que descomentar esto y listo ;)
##
error_page 503 @sopa;
return 503;
location @sopa {
rewrite ^(.*)$ /sopastrike.html break;
}

Por lo que veis, el archivo sopastrike.html tiene que estar en vuestro root de nginx (vamos, donde tenéis vuestra página, los archivos .html o .php… lo que sea). Nosotros en Mozilla Hispano vamos a usar una versión «tuneada» para contar lo que nosotros queremos, y lo tienes en github.

Simplemente haced un «# service nginx reload» para recargar la configuración.

Cuando hayáis terminado el mantenimiento o la huelga, podéis comentar todas esas líneas que hemos añadido y de nuevo recargar nginx con el comando de justo de aquí arriba.

¡Disfrutad de la huelga! Y si tienes dudas, no dudes en contarlo por aquí 😉

Google está matando su web

Google, quizás una de las mayores empresas en Internet de la historia (recordemos que empezó a crecer en el boom de las .com), que más se ha aprovechado de internet (es donde reside una gran parte, por no decir toda, de su negocio), está matando la web.

Google, que se inició en la libertad de internet para subir su web, hacerla accesible y usada miles de millones de veces al día, está matando su propia web. Web a la que ellos han ayudado a crecer.

¿Y por qué digo que Google está matando la web? Porque Google Chrome está matando la web. Está matando la innovación, está matando la posibilidad de elección, está matando la libertad.

No sé si recordáis los oscuros años 2000-2005, donde todo el mundo tenía instalado Internet Explorer 6. Un navegador que no se actualizó (llegó al 97% de cuota de mercado) porque no le hacía falta: era el rey, y se conformó. Obligó a hacer «estándares» para Microsoft, pasando de todo el mundo, pasando de una web interoperativa. Pasando de innovar y estandarizar.

Google está haciendo lo mismo: está obligando a que muchas de sus aplicaciones web SÓLO se puedan usar con Google Chrome. Google ha ayudado a estandarizar muchas cosas, pero se está equivocando. Muy, mucho.

Angry Birds para Chrome funciona perfectamente en Firefox, Ópera, Safari… pero lo dicen.

El soporte offline de Gmail sólo lo hacen funcionar en Google Chrome, cuando perfectamente se podría utilizar LocalStorage de HTML5 para hacerlo funcionar en múltiples dispositivos.

Y lo último, el otro día quería probar Google Currents Producer:

Nada, sólo Chrome.

Sólo espero que Google cambie de parecer y haga lo que ha hecho desde sus inicios: apoyar una web abierta, libre, y, como hicieron ellos, poder innovar desde cualquier sitio y de cualquier manera, no estando atados a una única tecnología.

Mi Firefox

Mucha gente me ha preguntado… ¿oye, pero tú como tienes configurado Firefox? Pues voy a ir explicando todo paso a paso

Extensiones

Aaapptabs: Sirve para que las pestañas fijas (¿no sabes lo que son?) oculten los controles de la barra de direcciones, búsqueda, botones atrás y adelante. Vamos, que tengamos todo para navegar, y olvidarnos del resto.

AdBlock Plus: Navegar sin publicidad es posible. Elimina el 99.99% de la publicidad, hay que configurar unos filtros, que se hace cuando se reinicia el navegador. Yo tengo varios: EasyList (English), Filtros Nauscópicos y EasyPrivacy.

Flashblock: Bloquea Flash por defecto. Punto. No quiero que el Mac se me vuelva una freidora. Y sólo lo activo cuando pulso en él.

Fox to Phone: Para mandar enlaces a mi móvil Android. Esencial en mi vida.

Mozilla Labs: Prospector – AwesomeBar HD: Unifica en uno la barra de búsqueda y la barra de direcciones. Además, permite buscar en diferentes motores simplemente pulsando la tecla tabulación, es espectacular.

Mozilla Labs: Prospector – Speak Words 4: Si por ejemplo, visito mucho «www.elpais.com» y escribo elp y doy intro, en principio me busca «elp» en Google, pero con esta extensión, si escribo elp me autocompleta a elpais.com y automáticamente me la selecciona de la lista. Hoy por hoy, totalmente necesaria para mi.

Persona

¿No conoces lo que son las Personas? Son temas ligeros en Firefox, que cambian la apariencia del fondo. Yo tengo uno simple y sencillo, con el logo de Firefox, simplemente ve a esa página, y pulsa en Viste esta Persona.

Preferencias

Las configuras todas en about:config, porque me parece lo más cómodo y rápido.

  • browser.tabs.animate a false. Esto hace que la creación y cierre de pestañas no hagan la animación que hace en Firefox 4.
  • network.http.max-connections a 60, network.http.max-connections-per-server a 30, network.http.pipelining a true y network.http.pipelining.maxrequests a 20: esto amplía el número de conexiones máximas a 60, 30 por servidor y activa el pipelining (petición y recepción de datos de un servidor aunque no haya terminado de las anteriores peticiones).
  • privacy.donottrackheader.enabled a true: esto envía una cabecera en cada petición http para indicar que no quieres que te rastreen en internet. Casi nadie lo usa, pero no está mal tenerlo activado.
  • browser.sessionstore.max_concurrent_tabs a 0 que hace que cuando se restaure Firefox no cargue todas las pestañas, si no sólo la actual y según vayamos pulsando en el resto, carguen el resto.

MiFirefox

Y por cierto, yo uso Nightly, que es la versión diaria de desarrollo de Firefox, que a veces es un poco inestable (cada vez menos) y que muestra las últimas características introducidas. Eso sí, si tú quieres colaborar, pero quieres mantener una estabilidad igual o mejor al Firefox más estable, te recomiendo que descargues Aurora, la siguiente versión grande de Firefox un par de meses antes de que salga 😉

¡Espero comentarios para ver cómo lo tenéis configurado, sobre todo posibles extensiones y/o preferencias!