首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker+Airflow+Nginx反向代理不工作

Docker+Airflow+Nginx反向代理不工作
EN

Stack Overflow用户
提问于 2022-08-04 08:33:46
回答 1查看 167关注 0票数 0

我正试图按下面的方式构建我的系统,所有组件都是由docker构建的。

index.html(localhost:8080)

  • nginx flower(localhost:8080/flower/)

  • nginx ->

"http://localhost:8080“正在工作,并显示了关于nginx的index.html,但是当我键入"http://localhost:8080/airflow/”时不工作,日志输出如下所示。我怎样才能解决这个问题?

未找到

nginx-for-airflow_1 x2022/08/04:09:42错误30#30:*5 "/usr/share/nginx/html/airflow/index.html“

我的代码如下所示

  • nginx.conf

上游airflow_webserver {服务器气流- deny服务器:8080;}上游airflow_flower {服务器花:5555;}服务器{根/;侦听80;server_name本地主机;charset utf-8;# location ^~ /{#deny all;#} location /airflow/ { proxy_pass http://airflow_webserver;proxy_redirect off;proxy_http_version 1.1;proxy_set_header升级$http_upgrade;proxy_set_header连接“升级”;proxy_set_header X-Real $remote_addr;proxy_set_header主机$http_host;}位置/ proxy_pass /{ http://airflow_flower/;proxy_redirect off;proxy_http_version 1.1;proxy_set_header升级$http_upgrade;proxy_set_header连接“升级”;proxy_set_header主机$http_host;}

  • 和我在

下面修改了我的airflow.cfg

代码语言:javascript
复制
base_url = http://airflow-webserver:8080
web_server_port = 8080
enable_proxy_fix = True
proxy_fix_x_port = 3

使用"curl http://flower:5555"“访问"airflow-webserver”容器中的

代码语言:javascript
复制
    nginx-for-airflow:
        image: nginx:latest
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf
        ports:
          - 8080:80
        healthcheck:
          test: ["CMD", "curl", "--fail", "http://localhost:8080/"]
          interval: 10s
          timeout: 10s
          retries: 5
        restart: always
        depends_on:
          <<: *airflow-common-depends-on
          airflow-init:
            condition: service_completed_successfully
          flower:
            condition: service_healthy
          airflow-webserver:
            condition: service_healthy
    
    flower:
        <<: *airflow-common
        command: celery flower
        # profiles:
        #   - flower
        # ports:
        #   - 5555:5555
        expose:
          - 5555
        healthcheck:
          test: ["CMD", "curl", "--fail", "http://localhost:5555/"]
          interval: 10s
          timeout: 10s
          retries: 5
        restart: always
        depends_on:
          <<: *airflow-common-depends-on
          airflow-init:
            condition: service_completed_successfully
    
    airflow-webserver:
        <<: *airflow-common
        command: webserver
        expose:
          - 8080
        healthcheck:
          test: ["CMD", "curl", "--fail", "http://localhost:8080/health"]
          interval: 10s
          timeout: 10s
          retries: 5
        restart: always
        depends_on:
          <<: *airflow-common-depends-on
          airflow-init:
            condition: service_completed_successfully
EN

回答 1

Stack Overflow用户

发布于 2022-08-04 15:26:32

您需要将root指令移动到location / {}块中。所有请求都与服务器级根匹配。

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

https://stackoverflow.com/questions/73232754

复制
相关文章

相似问题

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