miércoles, 27 de enero de 2021

Redirigir el trafico de HTTP a HTTPS en sitio web Apache2

 

Después de haber instalado un certificado SSL y publicado el sitio web con este certificado, tal vez quieras redirigir todo el tráfico HTTP al nuevo sitio HTTPS. 

Para ello tan solo es necesario modificar el fichero de configuración del sitio web de apache e incluir unas líneas de código.


Pasos: 

1. Editar el fichero de configuración del sitio web: 

$ sudo vim /etc/apache2/sites-available lasendadeladmin.conf 


2. Añadir la linea de codigo para redirigir el trafico del puerto 80 (http) al puerto 443 (https);


NameVirtualHost *:80

<VirtualHost *:80>
   ServerName www.lasendadeladmin.com
   Redirect / https://www.lasendadeladmin.com
</VirtualHost>

<VirtualHost _default_:443>
   ServerName www.lasendadeladmin.com
   DocumentRoot /var/www/lasendadeladmin
   SSLEngine On
# etc...
</VirtualHost>


3. Después de haber incluido el último paso es reiniciar el apache : 

$ sudo apachectl restart 


 

domingo, 24 de enero de 2021

Instalar certificado SSL Wildcard en sitio web con Apache2


Una de las formas más importantes de asegurar el intercambio de datos entre un servidor y el cliente que accede a él es el uso de certificados SSLPara asegurar que la comunicación se realiza realmente con el servidor correcto, el servidor puede ser certificado por una institución de confianza.


Requisitos: 

  • Asegurarse de que el servidor tiene el puerto 443 (https) abierto
  • Haber adquirido un Certificado SSL en cualquier entidad certificadora oficial
  • Fichero con la Clave Privada .key 
  • Fichero de Certificado SSL .cer o .crt
  • Fichero de Certificados Intermedios .cer o .crt   


Pasos:

1. Subir los ficheros con los certificados al servidor en una carpeta a la que se tenga acceso, como por ejemplo la home : /home/personal/certificados  


2. Crea una carpeta en la ruta /etc/ssl/certs 

$ sudo mkdir /etc/ssl/certs/LaSendaDelAdmin 


3. Copia los ficheros a la ruta recién creada: 

$ sudo cp /home/personal/certificados/* /etc/ssl/certs/LaSendaDelAdmin 


4. Cambia los permisos de los ficheros: 

$ sudo chmod 777 /etc/ssl/certs/LaSendaDelAdmin/* 


5. Edita la configuración del sitio de apache: 

$ sudo vim /etc/apache2/sites-available/lasendadeladmin.conf 


6.  En la configuración del site, modifica el VirtualHost para que escuche el puerto 443 de https e incluye las 4 lineas de código para configurar los certificados en el sitio:  


<VirtualHost *:443>

    ServerAdmin webmaster@localhost

    ServerName lasendadeladmin.com

    ServerAlias www.lasendadeladmin.com

    SSLEngine on

    SSLCertificateFile /etc/ssl/certs/LaSendaDelAdmin/LaSendaDelAdmin.com_ssl_certificate.cer

    SSLCertificateKeyFile /etc/ssl/certs/LaSendaDelAdmin/*.LaSendaDelAdmin.com_private_key.key

    SSLCertificateChainFile /etc/ssl/certs/CloudGamers/*.LaSendaDelAdmin.com_ssl_certificate_INTERMEDIATE.cer

....


7. Si no esta el módulo SSL habilitado, habilitalo con el comando a2enmod ssl  : 

$ sudo a2enmod ssl 


Considering dependency setenvif for ssl:

Module setenvif already enabled

Considering dependency mime for ssl:

Module mime already enabled

Considering dependency socache_shmcb for ssl:

Enabling module socache_shmcb.

Enabling module ssl.

See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.

To activate the new configuration, you need to run:

  systemctl restart apache2


8. Ahora comprueba que no hay ningun error en el código: 

$ sudo apachectl configtest


Syntax OK


9. Una vez verificado que la sintaxis de los ficheros de configuración es correcta, ya solo queda reiniciar el servicio de apache para habilitar el sitio web ahora con el certificado:

$ sudo systemctl restart apache2



sábado, 16 de enero de 2021

Problema con el fichero ads.txt en Blogger con dominio propio

 

Desde hace un tiempo Google Adsense recomienda configurar un fichero llamado ads.txt para asegurar que la publicidad que se ofrece en sitios webs es la autorizada por el propietario del sitio. De esta manera, al crear el archivo ads.txt se tiene más control sobre quien puede vender anuncios en tu blog e impedir que se muestre publicidad de otros anunciantes no autorizados. 

Debido a esta recomendación, en el panel de el Google Adsense mostraba un mensaje que indicaba que no tenia el fichero ads.txt correctamente configurado. 


Sin embargo, había seguido los pasos para poder publicar el fichero ads.txt, me seguia mostrando el error, y eso quiere decir que AdSense no es capaz de encontrar el fichero dentro del sitio web. 

El problema puede ser que si usas un dominio propio, blogger no deja usar el dominio de raiz y te obliga a usar un subdominio (por ejemplo www.tudominio.com o blog.tudominio.com). Pero en cambio AdSense esta usando tu dominio raíz y no tu subdominio para monetizar el sitio web. 




Para confirmar que este es el problema, tan solo hay que validar si el archivo ads.txt es accesible desde las siguientes URLs: 

  • http://www.tudominio.com/ads.txt
  • https://www.tudominio.com/ads.txt
  • http://tudominio.com/ads.txt
  • https://tudominio.com/ads.txt

Si las URLs con el subdominio www. muestran el fichero ads.txt es correcto. 

Pero si las entradas que apuntan al dominio raíz no muestran el fichero, has encontrado el problema. 

Para solventarlo esto son los pasos: 

  1. Entra en la Configuración de Blogger
  2. Deshabilita la opción de Disponibilidad de HTTPS
  3. Deshabilita la Redirección del dominio de: tudominio.com a www.tudominio.com
  4. Refresca el sitio web
  5. Vuelve a habilitar la Redirección del dominio
  6. Refresca el sitio web (en este punto, en la URL http://tudominio.com/ads.txt ya debería funcionar correctamente
  7. Habilita la Disponibilidad de HTTPS
  8. Espera que se registre los certificados HTTPS y cuando esten disponibles, habilita la opción de Redirección de HTTPS

Con estos pasos, el ads.txt debería estar accesible tanto desde el subdominio como del dominio principal.