lunes, 11 de enero de 2016

Píldora: Instalar y configurar un site con SSL en NetScaler VPX

Hola! Hoy te voy a dejar cómo configurar un SSL en un balanceador Netscaler VPX de Citrix; en concreto, este es la versión 9.3. Mucha suerte!


1 - Generar .key y .csr

2 - Instalar el certificado (CSR) con los intermediates correspondientes

3 - Configurar la parte de balanceo entre el LB y los servidores [ Load Balancing ]


-       Primero creo los servidores que formarán parte del pool. Lo hago desde ‘SERVERS’; sólo necesito el nombre y la IP que les doy:


-       (OPCIONAL) Puedo definir los servicios que correrán sobre estas máquinas y sobre los que quiero balancear. En ‘SERVICES’ puedes definir un único servicio cada vez:

 
y después puedes definir los monitores que quieres añadirle a este servicio



  




Después defino los servidores que formarán parte de este poll, el puerto y su peso en el balanceo
 



No es necesario añadir nada más al resto de pestañas

-       (OPCIONAL) También puedo definir grupos de servicios que actuarán como un balanceo real (por ejemplo, el puerto 80 en todos los servidores dados de alta en Servers). Lo hago desde ‘SERVICE GROUPS’. Primero defino el nombre y el protocolo de entrada
  
 
  
 y después defino los servidores que formarán parte de este poll, el puerto y su peso en el balanceo

 

En la pestaña ‘Advanced’, habilita ‘Client IP’ y en el box Header añade: “X-Forwarded-Proto” (sin comillas)
 

 
 
y sí, si sólo se pone un servidor equivale a añadir un sólo servicio desde la pestaña SERVICES

-       Para configurar el virtual server definimos el nombre, protocolo (que será HTTP) y dirección IP. La dirección IP no servirá para nada en nuestro caso, se puede poner una privada para no malgastarlas. De las pestañas “Services” y “Service Groups” selecciona los servicios que necesites añadir
 

En la pestaña ‘Method and Persistence’ asegúrate que tienes estas opciones
 
  


Y el resto lo dejas como está.


4 - Configurar la parte entre el cliente y el LB [ Content Switching ]
Es muy importante recordar que para cada nuevo SSL necesitaremos una IP dedicada
 

 
En VirtualHost creamos dos entradas.
-       La primera será la HTTP que simplemente haga de bypass del puerto 80 al balanceo general (en Target he puesto BalanceoOpenShopen-ALL)




No hace poner nada en otras pestañas
-       La segunda será el HTTPs será todo igual excepto por el protocolo con el que traba- jamos, que será SSL en lugar de HTTPS. En Target lo apuntaremos al virtualhost que acabamos de crear
 


En la pestaña “SSL Settings” añadimos el certificado que acabamos de instalar


y creamos la nueva entrada. Tendrás que cerrar la ventana después


PARTE DEL EQUIPO DE DESARROLLO

-       Modificar el index.php según este post:



     mucho cuidado al crear los Servicios o los grupos de Servicios nuevos, no olvidar el “X-Forwarded-Proto” en especial al olvidarlo en los polls ‘admin’
 
 

sábado, 21 de noviembre de 2015

Píldora: MySQL Replicación Maestro - esclavo



Hola! hoy te traigo mi receta para montar una replicación M/s MySQL
Espero que te sea tan útil como me resulta a mí!



Ten en cuenta que está basada en distribuciones RHEL, pero se puede adaptar a cualquier otra
[ (M): ejecutar en Master ]
[ (s): ejecutar en slave]

# Actualizar sistema en (M) y (s)


sudo yum update

# Añadir a los repositorios los oficiales de Percona en (M) y (s)


sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-
3/percona-release-0.1-3.noarch.rpm

# Instalamos, levantamos y securizamos MySQL en (M) y (s)

sudo yum install Percona-Server-server-55
sudo service mysql start
sudo mysql_secure_installation

(tendremos que introducir los datos que nos solicite)

# Abro puertos de comunicación de MySQL en (M) y (s)

sudo firewall-cmd --zone= --add-service=mysql
iptables -L -n # y compruebo que ya aparece el servicio mysql

# Configurar en (M)

sudo vi /etc/my.cnf

# y añado en [mysql]
------
log-bin=mysql-bin
server-id=1
------
guardo, salgo y ejecuto

sudo service mysql restart

y en (s) hago casi lo mismo

sudo vi /etc/my.cnf

# y añado en [mysql]
------
server-id=2
------
sudo service mysql restart

# Configurar usuarios de replicación (M)

mysql -p -u root
mysql > CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass123';
mysql > GRANT REPLICATION SLAVE ON *.* TO 'repl';
mysql > FLUSH TABLES WITH READ LOCK;
mysql > SHOW MASTER STATUS;

En el último paso, guardamos los datos File y Position para seguir en la provisión
Seguimos en (s)

mysql -p -u rootmysql >  CHANGE MASTER TO MASTER_HOST="Master_Host",
MASTER_USER="repl", MASTER_PASSWORD="slavepass123";,
MASTER_LOG_FILE=";mysql-bin.000001", MASTER_LOG_POS=551;

Como prueba creo una BD y compruebo que se crea automáticamente en el otro servidor
Después vuelco una BD pequeña y compruebo que se crea igualmente en el otro servidor