Actualmente tengo el siguiente problema y estaría muy agradecido si alguien pudiera ayudarme a encontrar el enfoque correcto.
He instalado Discourse en un servidor Ubuntu 21.10 en Vultr.
He seguido la configuración predeterminada y ya he creado un certificado Let’s Encrypt (para www.example.com) durante la instalación.
Mi objetivo es que mi foro sea accesible solo a través de www → www.example.com y no example.com.
Situación actual:
→ http://example.com redirige correctamente (301) a https://www.example.com.
→ http://www.example.com redirige correctamente (301) a https://www.example.com.
→ https://example.com lanza un error de certificado y no se redirige a https://www.example.com correctamente (el certificado se emitió para www.example.com y no para example.com).
¿Cuál es el mejor enfoque para que https://example.com redirija a https://www.example.com y cómo puedo lograr mi objetivo?
Esta es un área en la que no soy muy bueno. ¿Cuál sería la forma recomendada? Actualmente tengo un registro A tanto para el dominio como para el subdominio www que resuelven a mi droplet de Digital Ocean.
Estoy bastante seguro de que si solicitas ambos certificados, se redirigirá como deseas. La solución forcewww.com es más fácil.
Porque está dentro de un contenedor Docker y ninguna de las soluciones dentro del host que encuentres en cualquier otro lugar probablemente sea de utilidad.
Solo una rápida actualización para hacerles saber lo que funcionó para mí.
Lo intenté, pero esto no funcionó para mí. Parecía que no se emitió ningún certificado adicional.
También intenté resolver mi problema siguiendo esta sugerencia, pero tampoco funcionó para mí.
Lo único que resolvió mi problema hasta ahora fue seguir las instrucciones aquí http://www.forcewww.com/
Sin embargo, creo que todavía no es una solución deseable, ya que depende de un servicio externo. Por supuesto, es gratuito, pero tendrás que encontrar una nueva solución una vez que este servicio deje de funcionar.
Espero que no me malinterpretes @michaeld, es realmente una solución agradable y fácil la que ofreces y la aprecio mucho.
Sería algo genial si pudieras decidir durante la instalación estándar ir solo con una versión www o no www para hacernos la vida un poco más fácil
Aunque no lo he probado en el último mes, estoy bastante seguro de que funciona. Si no tenías tu DNS configurado correctamente y lo ejecutaste un montón de veces, entonces te limitaron la velocidad.
¿Quieres decir “y solicitar un certificado con ambos nombres de host?” Eso es demasiado difícil. La probabilidad de que simplemente rompa cosas para muchas personas que no saben cómo configurar DNS de esa manera es muy, muy alta.
Si creas un certificado para la versión de ápice y la versión www, tendrás ambas cubiertas. :smiley Como dijiste, el certificado no incluye tu dominio de ápice… de ahí el error.
Tus redirecciones deberían ser:
http://example.com → https://example.com
http://www.example.com → https://www.example.com.
Luego redirige https://example.com → https://www.example.com (tu dominio preferido declarado).
Entonces, sin importar si alguien escribe el dominio de ápice o la versión www, aterrizarán en tu https://www.example.com sin errores. La mejor práctica es incluir tanto el ápice como la versión www en tu certificado. Solo asegúrate de que tu certificado modificado/nuevo sea el que esté sirviendo tu servidor, y no el antiguo.
Ya veo. Y ahora que lo mencionas, empezaré a recordar: esa fue la segunda razón por la que puse Discourse detrás de Nginx “normal”. La primera razón fue la necesidad de hacer algún tipo de filtrado. Bueno, mi solución no es nada elegante ni técnicamente exigente, pero no es tan popular en este círculo.
Debo decir que Docker no es una solución muy amigable si algo tan trivial debe hacerse utilizando un servicio web de terceros. De lo contrario, Docker debe ser muy útil, supongo, a menos que no se vuelva tan popular.
Gracias por el consejo @pfaffman. Lo intentaré de nuevo durante el fin de semana.
Y sobre el segundo tema. Entiendo tu punto, pero esto podría ser algo así como una configuración avanzada u opcional, porque es realmente crucial que el mismo contenido sea accesible solo a través de un dominio.
En realidad no lo es (a menos que Discourse en sí no funcione). Pero si te refieres a SEO y Google, este problema de subdominio no ha sido tan grave durante mucho tiempo. Google puede vivir con eso, porque solo hay un dominio: uno es un FQDN de stub y uno con www es el real.