meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| aplicaciones:nginx:certificados [282021/07/ 11:07] – lc | aplicaciones:nginx:certificados [182023/01/ 13:36] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | ===== Nginx con Certificados ===== | ||
| + | === Paso 1 === | ||
| + | Creamos un contenedor con ubuntu | ||
| + | |||
| + | < | ||
| + | === Paso 2 === | ||
| + | Nos conecta a la terminal del contenedor y ejecutamos | ||
| + | - Actualizamos el contenedor de ubuntu < | ||
| + | - Intalamos los paquetes que vamos a necesitar < | ||
| + | |||
| + | === Paso 3 === | ||
| + | Pedimos un certificado a " | ||
| + | <note warning> | ||
| + | < | ||
| + | |||
| + | También podemos automatizar las peticiones de certificados sin que nos pida nada. | ||
| + | |||
| + | <sxh > | ||
| + | certbot certonly \ | ||
| + | -d midominio.es \ | ||
| + | --noninteractive \ | ||
| + | --standalone \ | ||
| + | --agree-tos \ | ||
| + | --register-unsafely-without-email | ||
| + | </ | ||
| + | < | ||
| + | |||
| + | Para parar el servicio de ngnix < | ||
| + | |||
| + | === Paso 4 === | ||
| + | Si tenemos el servidor nginx arrancado el propio certbot nos lo puede configurar con el comando < | ||
| + | <sxh bash> | ||
| + | # Redirecciona el puerto 80 a https | ||
| + | server { | ||
| + | listen 80 default_server; | ||
| + | client_max_body_size 500M; | ||
| + | return 301 https:// | ||
| + | } | ||
| + | # Le indicamos donde están los certificados | ||
| + | server { | ||
| + | ssl_stapling off; | ||
| + | ssl_stapling_verify off; | ||
| + | listen 443 ssl; | ||
| + | client_max_body_size 1500M; | ||
| + | server_name midominio.es; | ||
| + | ssl_certificate | ||
| + | ssl_certificate_key / | ||
| + | ssl_protocols | ||
| + | ssl_ciphers | ||
| + | </ | ||
| + | | ||
| + | | ||
| + | <sxh bash> | ||
| + | # Deshabilitar las cabeceras inválidas y la versión de nginx | ||
| + | ignore_invalid_headers | ||
| + | server_tokens | ||
| + | |||
| + | #Evitar ataques de buffer overflow | ||
| + | client_body_buffer_size | ||
| + | client_header_buffer_size | ||
| + | client_max_body_size | ||
| + | large_client_header_buffers 2 1k; | ||
| + | |||
| + | #Controlar Time-outs | ||
| + | client_body_timeout | ||
| + | client_header_timeout | ||
| + | send_timeout | ||
| + | keepalive_timeout | ||
| + | |||
| + | #OCSP Stapling | ||
| + | ssl_stapling | ||
| + | ssl_stapling_verify | ||
| + | resolver | ||
| + | resolver_timeout | ||
| + | |||
| + | </ | ||
| + | ==== Renovación del certificado | ||
| + | === Manualmente === | ||
| + | Para renovar el certificado manualmente | ||
| + | < | ||
| + | === Automáticamente === | ||
| + | Con un script en cron que ejecute el comando diáramente. Por ejemplo este que se ejecuta todos los días a las 6 de la mañana y a las 9 de la noche | ||
| + | < | ||
| + | |||
| + | Si las renovaciones no funcionan debemos hacer lo siguiente (https:// | ||
| + | |||
| + | Editar el archivo / | ||
| + | <sxh bash> | ||
| + | server { | ||
| + | listen 80; | ||
| + | listen [::]:80; | ||
| + | root / | ||
| + | index index.php index.html index.htm; | ||
| + | server_name midominio.es www.midominio.es; | ||
| + | | ||
| + | #permitir la respuesta HTTP a todo lo que se encuentre en el directorio “.well-known/ | ||
| + | location ~ / | ||
| + | allow all; | ||
| + | } | ||
| + | #Todas las peticiones que se soliciten en esa dirección no serán redireccionadas a HTTPS. | ||
| + | location / { | ||
| + | return 301 https:// | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | ===== Referencias ===== | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||