Tengo una instancia de Kubernetes en GCP. Todo parece estar bien, pero de alguna manera force_https no está forzando una redirección y el sitio aún se puede acceder mediante http://.
Mi solución por ahora ha sido agregar este bloque a app.yml.
(Y me encantaría entender cómo hacer que pups ajuste la indentación de esas líneas que inserté, pero me desvío del tema.)
Un tiempo después de ese cambio, el controlador de ingreso parece haber dejado de servir el sitio, aunque parecía estar funcionando correctamente y redirigiendo adecuadamente durante un tiempo.
Obviamente, esto cae en la categoría de unsupported-install, pero si alguien tiene alguna idea sobre qué revisar a continuación, se lo agradecería.
¿Estás usando un equilibrador de carga HTTP o uno TCP? Si es HTTP, el protocolo visto en la entrada puede estar contenido en un encabezado no estándar que Discourse no está buscando.
Muchas gracias, @riking. Sí, parece que el balanceador de carga es el problema. Creo que Ingress está bien (y ahora tengo una idea de que hay una diferencia). Cambié a la configuración que muestras y obtengo los mismos resultados que con una configuración un poco más complicada. Supongo que el siguiente paso sería entender tcpdump y ver qué hay en esos encabezados…
EDIT: Parece que debería funcionar. Esto es lo que veo:
@pfaffman Puedo ayudarte con eso: estoy en GCP y ya he resuelto este problema antes. Estoy ocupado durante unas horas, pero si puedes enviarme la configuración de tu equilibrador de carga (junto con lo de las comprobaciones de estado) aquí o en privado, puedo intentar encontrar el problema.
Sí. ¡Parece que ahora funciona! Supongo que me confunde el puerto mágico 30182, pero imagino que es algún tipo de magia de k8s que entenderé otro día.
Voy a probar tu bloque after_web_config:. Parece un poco más limpio que lo que estaba haciendo.