Iloo

https://iloo.wordpress.com

Archivos por Etiqueta: Apache

Android: fallan las conexiones

Vamos indicando el entorno, se tiene una app en Android y que hace llamadas de tipo POST a un servidor para obtener datos, el servidor cuenta con SO Centos 6, apache, php 5.6, mysql, un servidor normal.

Lo que sucede, se tiene varios dispositivos de la misma red (6 dispositivos) trabajando con la app al mismo tiempo, cuando ingresa uno nuevo suceden dos cosas.

  • El ultimo simplemente deja de recibir la informacion del servidor por medio de la app.
  • Todas se bloquean excepto el primer dispositivo que uso la app.

Los mensajes de error en adroid son los siguientes:

org.apache.http.conn.HttpHostConnectException: Connection to https://xxx.com/ refused
java.net.SocketTimeoutException: failed to connect to xxx.com/111.222.333.444 (port 443) after 3000ms

La solucion en este caso fue desactivar el TCP timestamps de centos.

echo "0" > /proc/sys/net/ipv4/tcp_timestamps
Anuncios

Apache: KeepAlive On

apache_logo

Un caso de estudio

El servidor

  • Centos 6.
  • Apache.
  • PHP 5.6

Los clientes

  • MAC OS.
  • Windows.

El problema:

Se tiene una aplicacion en PHP sin frameworks mas que uno que otro generador, tablas, formularios, etc.

Cuando dos clientes (en la misma red) con SO MAC OS intentan ingresar a la aplicacion, esta responde correctamente al primer cliente pero con el segundo, se bloquea, y se pone tremendamente lenta, no se corta solo que la carga se pone demasiada lenta. Para los clientes Windows funciona correctamente

Despues de hacer varias pruebas en los clientes, desactivando caches, definiendo DNSs, probando con el TTFB, etc. Se intuye que el problema esta en el servidor.

Revisando la configuracion de Apache, se observa que el parametro KeepAlive  (la misma aplicacion corre en varios servidores y todos los servidores tienen la misma configuracion), se encuentra desactivado, se procede a encender la opcion y… funciona, todo solucionado.

KeepAlive Off

Captura de pantalla 2018-02-19 a las 22.31.45.png

KeepAlive On

Captura de pantalla 2018-02-19 a las 22.33.41.png

 

Web Applications Security: www.bancounion.com.bo (1)

Si bien el uso de CMS‘s ayuda y agiliza la publicación de un portal, no todo es tan fácil y simple, es necesario probar muchas cosas, asegurar los datos y la información, hacer pruebas de contenido, seguridad, etc; tomando en cuenta que un portal puede ser una vía de acceso al contenido del servidor , la red de equipos y la información en y detrás de esta.

Por ahora no tengo muchas ganas y tiempo para ir probando esto a detalle, pero haciendo una prueba rápida y simple al portal del Banco Unión S.A., cuya dirección es www.bancounion.com.bo, se tiene:

De aquí:

  • SO: windows, lo más probable NT.
  • Servidor web: Apache.
  • Ruta de instalación del servidor web.
  • CMS: joomla.
  • Un error.
  • Y un administrador distraído.

CakePHP: problemas con public_html

Si se trabaja con public_html en Apache, es decir se cuenta con /home/usuario/public_html activado para funcionar de servidor en http://localhost/~usuario y si se presentan los siguiente “sintomas”:

  • mod_userdir habilitado y configurado.
  • mod_rewrite habilitado y configurado.
  • La aplicación CakePHP no se muestra, o se muestra de manera incorrecta.

Una solución sería “indicar” a cakephp que funcione sin mod_rewrite siguiendo el siguiente enlace: https://iloo.wordpress.com/2009/07/30/cakephp-trabajar-sin-mod_rewrite/

La otra es configurar los archivos .htaccess de la aplicación, configurar los siguiente archivos:

  • /home/usuario/public_html/cakephp/.htaccess
  • /home/usuario/public_html/cakephp/app/webroot/.htaccess

Dejándolos de esta manera:

/home/usuario/public_html/cakephp/.htaccess

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteBase /~usuario/cakephp/
 RewriteRule ^$ app/webroot/ [L]
 RewriteRule (.*) app/webroot/$1 [L]
 </IfModule>

/home/usuario/public_html/cakephp/app/webroot/.htaccess

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteBase /~usuario/cakephp/
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
 </IfModule>

Cabe hacer notar que solamente se indico en ambos archivos el directorio donde el módulo rewrite debe actuar:

RewriteBase /~usuario/cakephp/

Apache: bad user name ${APACHE_RUN_USER} (3)

Este error ha empezado a presentarse en las últimas versiones de Ubuntu, la verdad no se a que se deba pero sucede cuando se intenta levantar el servicio de Apache usando la siguiente orden:

sudo /etc/init.d/start

Para levantar el servicio de Apache también se puede usar:

sudo service apache2 start

Y con esta última orden ya no se tiene el error y levanta el servicio sin problemas.