Posts Certificado de Cloudflare en nginx
Post
Cancel

Certificado de Cloudflare en nginx

Contenido


Los certificados de Cloudflare son trusted por Cloudflare, si el servidor no está conectado a Cloudflare los usuarios no tienen forma de validarlo y será igual que haber generado uno propio.

Generar el certificado TLS

Desde la Dashboard->Crypto.


Seleccionamos el tipo de certificado que queremos generar, en este caso RSA y la lista de hosts para los que son válidos. eg “*.example.com” o “blog.example.com” … etc


En el siguiente dialogo se nos presenta el certificado de origen y la clave privada con posibilidad de cambiar el formato del mismo, el mas comun para nginx o apache es PEM (seleccionado por defecto). Se copia el contenido de ambos recuadros a dos ficheros de texto en el servidor, en este caso cert.pem y privkey.pem.


Instalar el certificado

Se añade al bloque server:

server {
    listen              443 ssl;
    server_name         example.com;
    ssl_certificate     /ruta/al/cert.pem;
    ssl_certificate_key /ruta/a/privkey.pem;
    ...
}

Authenticated Origin Pulls

La configuración anterior asegura a Cloudflare que está ‘hablando’ con nuestro servidor, pero el servidor no sabe si las requests vienen de Cloudflare o no. Usando Authenticated Origin Pulls podemos asegurarnos de que el servidor solamente responda a Cloudflare y cualquier petición que venga sin un certificado válido de Cloudflare será descartada.

Descargamos el certificado de Cloudflare en el servidor.

# wget https://support.cloudflare.com/hc/en-us/article_attachments/201243967/origin-pull-ca.pem

Se añade al bloque server:

server {
    ...
    ssl_client_certificate /ruta/al/origin-pull-ca.pem;
    ssl_verify_client on;
    ...
}

Por último activamos la opción en Cloudflare (Dashboard->Crypto).


Fuentes:

Configuring HTTPS servers

Protecting web origins with Authenticated Origin Pulls

Setting up NGINX to use TLS Authenticated Origin Pulls

OLDER POST NEWER POST

Comments powered by Disqus.

Search Results