Actualización: he determinado que no es culpa de NGINX, pero necesito que NGINX lo solucione. Detalles en la parte inferior.
Estoy tratando de crear aplicaciones de revisión para cada sucursal que creamos. Estamos usando NGINX como nuestro proxy inverso, Celery para una cola de tareas y Flower para monitorear las tareas. Flower proporciona un argumento url_prefix https://flower.readthedocs.io/en/latest/config.html#url-prefix .
Este prefijo permite implementaciones de Flower en direcciones URL no raíz. En otras palabras, me permite implementar flores detrás de un proxy inverso sin tener que usar reescrituras.
Idealmente, nuestro esquema de URL se vería así:
/flower/{branch_name} -> Dashboard /flower/{branch_name}/ -> Same dashboard /flower/{branch_name}/api/task/apply/examples.ping -> Task call /flower/{branch_name}/api/task/apply/examples.ping/ -> Same task call /flower/latest/ -> Latest build Dashboard /flower/staging/ -> Staging Dashboard /flower/v1/ -> Production DashboardNuestra configuración actual se ve así:
location ~ /flower/([a-zA-Z0-9]+)/? { proxy_pass http://$1_flower:5555; proxy_set_header Host $host; proxy_redirect off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }Esto actualmente funciona, más o menos.
Estos funcionan actualmente:
/flower/{branch_name}/ /flower/{branch_name}/api/task/apply/examples.pingEstos no:
/flower/{branch_name} /flower/{branch_name}/api/task/apply/examples.ping/~~Estoy bastante seguro de que el problema es cómo configuré mi configuración de proxy NGINX.~~
Actualización: he determinado que no es culpa de NGINX, pero necesito que NGINX lo solucione.
El parámetro url_prefix de Flower no entiende eso
/flower/{branch_name}/y
/flower/{branch_name}son el mismo punto final.
Creo que puedo resolver esto usando una redirección de
/flower/{branch_name}a
/flower/{branch_name}/¿Alguien sabe cuál es la mejor práctica para hacer esto sin crear problemas con las URL de llamadas de tareas?