SSL Reverse proxy con Apache

Un ejemplo que sirve para Meteor:


SSLProxyEngine On
# snake oil certs in proxyied service -> skip checks
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off

ProxyRequests Off
ProxyPreserveHost On

ProxyPass /websocket ws://localhost:3000/websocket
ProxyPassMatch ^/sockjs/(.*)/websocket ws://localhost:3000/sockjs/$1/websocket

ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
ProxyPassReverseCookiePath / /
ProxyPassReverseCookieDomain 127.0.0.1 52.211.154.50
RequestHeader set X-Forwarded-Proto "https"

Parece que en nginx la configuración análoga es trivial. Quizá sea un buen argumento para convertirse…

Secure cookies over reverse proxy with https

OpenGL en remoto (ssh) y Nvidia

Para el rendering OpenGL en un ordenador remoto se recurre (por defecto) a “indirect rendering” (los comandos Open GL pasan por el protocolo GLX). El “direct rendering” permite acceder directamente a la GPU del ordenador donde se ejecuta la aplicación. Este es el modo que usa por defecto el controlador nativo de Nvidia, que de hecho por defecto rechaza el uso del “indirect rendering” (se puede rehabilitar con la opción “AllowIndirectGLX” de la sección “ServerFlags” de xorg.con).

Así pues, ejecutando la instalación por defecto del driver nativo de Nvidia, se sustituye la biblioteca del sistema libGL. Con lo cual, se pierde el “indirect rendering” y las aplicaciones OpenGL dejan de funcionar en remoto (X11 sobre SSH)

Por otro lado, la biblioteca libGL que Nvidia instala puede ser necesaria para otras aplicaciones (por ejemplo, CUDA)

Una posibilidad es rescatar la biblioteca libGL original (del paquete libgl1-mesa-glx, o equivalente) y recurrir a ella para uso remoto, anteponiendo LD_PRELOAD=/ruta/a/libGLoriginal.so al programa a utilizar.

Si MESA recurre a swrast_dri.so para hacer el rendering (render por software), es probable que haya conflictos con bibliotecas como libstdc++.so.6 o libgcc_s.so (como suele suceder con UCSF Chimera, que tiene sus propias copias de esas bibliotecas en su directorio lib). En este caso se puede usar el mismo “truco” de LD_PRELOAD, pero con esas bibliotecas:

LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/4.9/libgcc_s.so:/usr/lib/x86_64-linux-gnu/libstdc++.so.6 chimera

Tablets 2016

Modelo Precio (EUR) Pantalla (ppp) Almacenamiento (GB) OS CPU (cores,GHz) RAM Peso (g)
Kindle Fire HD 8 8″ 1200×800 (180) 16 +microSD Fire OS GB
Xiaomi MiPad 170-250 8″ 2050×1500 (326) 16 +microSD Android (4c 2.2) 2 GB
Lenovo Tab 2A 1070 170 10″ 1920×1200 (226) 16 Android 4.4 (4c, 1’5) 2GB 500
BQ Aquaris M8 170 8″ 1280×800 (190) HDMI 16 Android 6 (4c, 1’3) 2GB 350
BQ Aquaris M10 260 10″ 1920×1200 (226), uHDMI 16 + microSD Android 6 (8c 1’5) 2GB 470
Apple iPad Mini 2 290 8″ 2050×1530 (326) 32 iOS 10 A7 (4c) 1GB
Apple iPad Air 2 430 10″ 2048×1536 (264) 32 iOS 10 A8 (4c) 1GB 470
Apple iPad Pro 680 10″ 2048×1536 (264) 32 iOS 10 A9X (4c) 1GB 470
Fire HDX 8.9 380 9″ 2560×1600 (340) 16 FireOS (4c, 2’5) 2GB 375
Nexus 9 390 9″ 2048×1536 (284) 16 Android 5 K1 (2c, 2’3) 2GB 425
Google Pixel C 500 10″ 2560×1800 (300) 32 Android 7 X1 () 3GB 500
Samsung Galaxy Tab A S Pen (2016) 360 10″ 1920×1200 (226) 16 Android 6 (8c) 3GB 525
Samsung Galaxy Tab A (2016) 200-240 10″ 1920×1200 (226) 16 + microSD Android 6 (8c 1.6) 2GB 540

Puedes comparar estos modelos con los de el listado de tablets en 2015