首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反向代理背后的running flower

反向代理背后的running flower
EN

Stack Overflow用户
提问于 2018-08-21 12:15:51
回答 1查看 2.2K关注 0票数 3

下面是我的nginx配置:

代码语言:javascript
复制
    location /flower/ {
    rewrite /flower/(.*) /$1  break;

    sub_filter '="/' '="/flower/';
    sub_filter_last_modified on;
    sub_filter_once off;

    proxy_pass http://localhost: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";
}

location /flower/static/ {
    sub_filter '/api' '/flower/api';
    sub_filter "'/monitor" "'/flower/monitor";
    sub_filter "'/worker" "'/flower/worker";
    sub_filter "'/'" "'/flower/'";
    sub_filter "'/dashboard'" "'/flower/dashboard'";
    sub_filter '"/update-dashboard"' '"/flower/update-dashboard"';
    sub_filter_types application/javascript;  # by default, sub_filter won't touch JS
    sub_filter_last_modified on;
    sub_filter_once off;

    alias <VIRTUALENV_PATH>/python3.4/site-packages/flower/static/;
    expires 30d;
}

以上链接:https://github.com/mher/flower/issues/414

我的flower版本是0.9.2,nginx版本是1.12.1

我按如下方式运行flower:

代码语言:javascript
复制
$celery flower -A project_name --port=5555 --broker redis://broker_url:port

这将呈现以下内容:

我按如下方式运行flower:(used --url_prefix=flower)

代码语言:javascript
复制
$ celery flower -A project_name --port=5555 --broker redis://broker_url:port --url_prefix=flower

然后呈现所有静态文件,如下所示:

当我单击上面的任何选项卡(比如任务)时,就会出现问题,如下所示:

我注意到url并不是写成: /flower/dashboard/ is /flower/flower/dashboard等等。

这里我漏掉了什么?在nginx配置中有什么需要更改的吗?

EN

回答 1

Stack Overflow用户

发布于 2018-08-23 19:24:44

我不确定你为什么在你的nginx配置中使用sub_filter

在我看来,你是在像xyz.com/flower这样的特定url中托管花朵,这就是你使用sub_filter的原因。

虽然我没有这样使用过鲜花,但在我看来这是错误的。我还发现了另一个错误,即您将location /flower/static/放在location /flower/之下,因此所有静态请求都将由location /flower/代码块处理

您的nginx配置应该如下所示:

代码语言:javascript
复制
server {
    location /flower/static {
        alias  /the/path/to/flower/static;
    }
    location /flower {
        rewrite ^/flower/(.*)$ /$1 break;
        proxy_pass http://localhost:5555;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
    }
}

您可以阅读有关documentationexample上设置的更多信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51941475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档