google chrome - una - ¿Cómo redirecciono el tráfico de www sin activar la comprobación SSL de los navegadores?
habilitar tls en chrome (1)
Si su certificado es solo para example.com y no para www.example.com, cualquier acceso a www.example.com activará una advertencia de certificado, no importa si solo desea redirigirlo o no. La redirección se realiza en el nivel HTTP y antes de que hable HTTP, primero realiza el protocolo de enlace SSL (que desencadena el problema), ya que HTTPS solo es HTTP dentro de SSL.
Y antes de preguntar, los trucos con DNS (como CNAME) tampoco ayudarán porque el navegador comparará el certificado con el nombre en la URL, no en contra de los posibles nombres de alias de DNS. Simplemente no hay forma de obtener un certificado adecuado.
Tengo un certificado válido para example.com. Si los usuarios van a mi sitio en http://example.com , se les redirige a https://example.com y todo está bien. Si van a https://example.com , todo está bien. Si incluso van a http://www.example.com , se les redirige a https://example.com y todo está bien.
Sin embargo, si van a https://www.example.com , Chrome activa su advertencia SSL antes de que yo pueda redireccionar y le dice al usuario que no confíe en este sitio. No tengo este problema en Safari o Firefox.
Aquí está mi configuración nginx. ¿Qué estoy haciendo mal?
`` `
# Configuration for redirecting non-ssl to ssl;
server {
listen *:80;
listen [::]:80;
server_name example.com;
return 301 https://example.com$request_uri;
}
# Configuration for redirecting www to non-www;
server {
server_name www.example.com;
ssl_certificate ssl/ssl_cert.crt;
ssl_certificate_key ssl/ssl_key.key;
listen *:80;
listen *:443 ssl spdy;
listen [::]:80 ipv6only=on;
listen [::]:443 ssl spdy ipv6only=on;
return 301 https://example.com$request_uri;
}
server {
listen *:443 ssl spdy;
listen [::]:443 ssl spdy;
ssl_certificate ssl/ssl_cert.crt;
ssl_certificate_key ssl/ssl_key.key;
server_name example.com;
}
`` `
EDITAR: veo que esta es una configuración problemática porque el segundo bloque mirará los certs. ¿Cuál es la forma correcta de configurar esto con un certificado que lea de "example.com" en lugar de "www.example.com"?