La advertencia "Strict-Transport-Security" de Nextcloud significa que su comprobación no detectó un encabezado HSTS con un max-agevalor mínimo de 15552000segundos (180 días) en la respuesta HTTPS pública. Añada el encabezado en el servidor web o proxy inverso que sirve HTTPS y, a continuación, pruebe esa URL pública específica. HSTS no es una configuración de Nextcloud config.php, y una respuesta HTTP simple no puede establecer una política HSTS en los navegadores.
Qué comprobar antes de cambiar la configuración
- Confirma que el sitio de Nextcloud se carga correctamente a través de HTTPS y presenta un certificado válido para su nombre de host.
- Identifique qué servicio finaliza la conexión TLS: Apache, NGINX, un balanceador de carga, un punto de entrada de contenedor o un proxy externo.
- Compruebe si ese servicio ya está configurado
Strict-Transport-Security. Envíe una política específica desde el punto final TLS público; los encabezados duplicados o conflictivos dificultan la verificación. - Decida si todos los subdominios están listos para HTTPS antes de agregarlos
includeSubDomains. No habilite preloadcomo una forma rápida de eliminar esta advertencia.
HSTS indica a los navegadores que las futuras conexiones a un nombre de host deben usar HTTPS. Esto ayuda a evitar la degradación a HTTP después de que el navegador haya recibido la política. No reemplaza TLS, no corrige un certificado no válido ni redirige la primera visita HTTP; también se debe configurar una redirección HTTP a HTTPS por separado. El manual de administración de Nextcloud 35 identifica el mínimo de 15552000 segundos y recomienda configurar el encabezado en el servidor web. El punto de aplicación real en una implementación de proxy es el componente que devuelve la respuesta al visitante.
Establecer una política de referencia
Una política inicial conservadora para un nombre de host de Nextcloud es:
Strict-Transport-Security: max-age=15552000
Esto cumple con el tiempo de vida mínimo que Nextcloud documenta sin aplicar automáticamente una política a cada subdominio. Una vez que haya confirmado que todos los subdominios relevantes admiten HTTPS de forma continua, puede considerar agregar ; includeSubDomains. Un navegador que haya aprendido esta directiva también requerirá HTTPS para esos subdominios. Un panel interno, un servidor de correo o un servicio heredado que aún dependa de HTTP puede volverse inaccesible en ese navegador hasta que se migre o expire la política.
Apache
Para un host virtual Apache TLS, habilite mod_headersy coloque la directiva dentro del host virtual HTTPS, no solo en el host de redirección del puerto 80:
<VirtualHost *:443>
ServerName cloud.example.com
# Keep the existing TLS and Nextcloud configuration here.
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000"
</IfModule>
</VirtualHost>
Reemplace el nombre de host de ejemplo y conserve su certificado y configuración de proxy o PHP existentes. El ejemplo de endurecimiento de Apache de Nextcloud utiliza Header always setel host virtual HTTPS. Valide la configuración de Apache con el comando `config-test` compatible con su distribución y, si la prueba es exitosa, reinicie Apache.
NGINX
En NGINX, agregue el encabezado dentro del serverbloque que escucha HTTPS en el nombre de host público de Nextcloud:
server {
listen 443 ssl;
server_name cloud.example.com;
# Keep your existing TLS and Nextcloud locations here.
add_header Strict-Transport-Security "max-age=15552000" always;
}
No copie esto como un reemplazo completo de la configuración existente del servidor. La herencia de encabezados de NGINX puede depender de si una ubicación anidada define sus propias add_headerdirectivas; inspeccione la configuración efectiva y pruebe respuestas representativas, incluidos los recursos estáticos y los puntos finales DAV. El ejemplo oficial de Nextcloud NGINX incluye una configuración HSTS en su configuración HTTPS y advierte a los administradores sobre la activación de la precarga.
Proxy inverso o Ingress
Si un balanceador de carga, un ingress o un proxy alojado finaliza HTTPS antes de reenviar el tráfico a Nextcloud, configure HSTS en esa capa TLS pública, a menos que su arquitectura lo agregue deliberadamente en un upstream de confianza. Un encabezado agregado solo por el backend puede ser eliminado o reemplazado por el proxy. Por el contrario, configurarlo en ambas capas puede generar valores duplicados. Verifique la configuración del encabezado de respuesta del proxy y asegúrese de que su ruta HTTPS sea la que se está probando. Mantenga la configuración de URL HTTPS y de proxy de confianza de Nextcloud coherente con la implementación existente, pero no considere dicha configuración como un sustituto de la emisión del encabezado.
Validar la respuesta del público
- Utilice el verificador de sintaxis de la plataforma para la configuración modificada del servidor web o del proxy.
- Recargue o implemente la configuración validada.
- Solicite la dirección HTTPS pública e inspeccione los encabezados de respuesta:
curl -sSI https://cloud.example.com/. Busque una Strict-Transport-Securitylínea cuyo valor max-agesea al menos 15552000. - En las herramientas para desarrolladores del navegador, inspeccione la respuesta del mismo nombre de host público. Esto puede revelar un proxy que modifica los encabezados o una ruta que omite el host virtual esperado.
- Recarga la página de Administración → Resumen de Nextcloud y espera a que se actualice la comprobación de seguridad.
Si curlno se muestra el encabezado HSTS, confirme que el DNS apunta al punto final que editó, que la solicitud utiliza HTTPS y que el proxy no elimina el encabezado. Si el encabezado aparece en la página de inicio pero no en otras respuestas, revise las directivas de nivel de ubicación de NGINX o las reglas de encabezado de respuesta del proxy. Si la respuesta pública es correcta pero Nextcloud sigue mostrando una advertencia, verifique que la comprobación de administración utilice el mismo nombre de host y esquema visibles externamente, y luego inspeccione cualquier capa de caché o proxy entre el servidor y la comprobación.
Utilice la precarga solo después de una revisión de todo el dominio.
La precarga es una opción independiente y de gran impacto. La directiva de precarga no registra un dominio por sí misma; las listas de precarga de los navegadores tienen sus propios requisitos de envío. Las directrices actuales de los navegadores exigen un proceso de inscripción extenso max-age. includeSubDomainsNextcloud advierte que la eliminación de una lista de precarga puede tardar meses en llegar a los navegadores instalados. Comience con la política base, identifique todos los nombres de host afectados, confirme que HTTPS funciona en todo el dominio y revise los requisitos oficiales de precarga antes de aplicarla. La mayoría de los administradores de Nextcloud pueden resolver esta advertencia específica sin optar por la precarga.
Referencia: Advertencias de seguridad de Nextcloud 35 , Guía de endurecimiento de Nextcloud , Configuración de Nextcloud NGINX y Referencia de encabezados HSTS de MDN .