apache - 无法通过 AWS 负载均衡器 HTTPS 访问 Airflow Web 服务器,因为 Airflow 将我重定向到 HTTP

标签 apache amazon-web-services airflow elastic-load-balancer

我在 EC2 上配置了一个 Airflow Web 服务器,它在端口 8080 上监听。

我在 EC2 前面有一个 AWS ALB(应用程序负载均衡器),监听 https 80(面向互联网),实例目标端口面向 http 8080。

我无法从浏览器浏览 https://< Airflow 链接 >,因为 Airflow Web 服务器将我重定向到 http ://< Airflow 链接 >/admin,ALB 不监听该链接。

如果我从浏览器浏览 https://< Airflow 链接 >/admin/airflow/login?next=%2Fadmin%2F,那么我会看到登录页面,因为此链接不会重定向我。

我的问题是如何更改 Airflow ,以便在浏览 https://< Airflow 链接> 时, Airflow 网络服务器会将我重定向到 https:...,而不是 http://.....
以便 AWS ALB 可以处理请求。

我试图从 http://localhost:8080 更改airflow.cfg 的base_url至 https://localhost:8080 ,根据下面的答案,但我看不出我的变化有什么不同....

无论如何,如何从 ALB 访问 https://

最佳答案

由于他们使用 Gunicorn - 您可以将 forwarded_allow_ips 值配置为环境变量,而不必使用像 Nginx 这样的中间代理。

就我而言,我只是设置了 FORWARDED_ALLOW_IPS = *它工作得很好。

在 ECS 中,如果您对所有 Airflow 任务(网络服务器、调度程序、工作程序等)使用一个 docker 镜像,则可以在网络服务器任务配置中设置此项。

关于apache - 无法通过 AWS 负载均衡器 HTTPS 访问 Airflow Web 服务器,因为 Airflow 将我重定向到 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48413093/

相关文章:

airflow - 如何在 Airflow 中查找失败的上游任务数?

airflow - 使用 KubernetesPodOperator 创建 sidecar

xml - Apache 文件缓存

Apache HTTPD/mod_proxy/Tomcat 和带客户端身份验证的 SSL

PHP (Apache) 默默地将 HTTP 429 和其他转换为 500

amazon-web-services - 在私有(private)子网 AWS Fargate 上运行的 Docker 实例

mysql - 哪个版本的 MySQL 与 Airflow 版本 1.10 兼容?

apache - 如何在 Apache Tomcat 8.0.9 中重定向带有端口号的 URL,以便用户看不到端口号

amazon-web-services - 如何将 AWS SAM CLI 本地 HttpAPI 与 JWT 承载 token 离线身份验证结合使用?

amazon-web-services - 在java中将目标(LambdaFunction)添加到AWS-CDK中的事件规则时出现错误: There is already a Construct with name lambda_name in stack