Running behind reverse proxy

To run Flower behind a reverse proxy, remember to set the correct Host header to the request to make sure Flower can generate correct URLs.

The following block represents the minimal nginx configuration:

server {
    listen 80;
    server_name flower.example.com;

    location / {
        proxy_pass http://localhost:5555;
    }
}

If you run Flower behind custom location, make sure url_prefix option value equals to the location path.

You have to use either environment variable FLOWER_URL_PREFIX=flower or command parameter –url_prefix=flower when you run it via celery. With that being set you need the following nginx configuration:

server {
    listen 80;
    server_name example.com;

    location /flower/ {
        proxy_pass http://localhost:5555/flower/;
    }
}

without url_prefix Flower frontend won’t be able to generate correct static links, and without /flower/ at the end of proxy_pass parameter, the browser will lead you to 404.

Note that you should not expose this site to the public internet without any sort of authentication! If you have a htpasswd file with user credentials you can make nginx use this file by adding the following lines to the location block:

auth_basic "Restricted";
auth_basic_user_file htpasswd;