https - 如何在 Airflow Webserver 上启用 SSL?

标签 https openssl airflow

我一直在尝试在我的 Apache Airflow 前端通过 SSL 启用 HTTPS,但文档非常稀少,而且网上没有那么多好的例子。

我的 Airflow 实例目前正在 Red Hat Linux VM 上运行。我试过生成一个 key /证书,并将配置文件指向相应的路径,但它似乎不起作用。

从 Airflow 文档中,我们似乎应该简单地生成证书和 key 的路径并在 Airflow 中添加 SSL 证书和 key 的路径。我使用 Open SSL 生成了一个 .key 和 .csr 文件。

/usr/bin/openssl genrsa -rand /dev/urandom -out /etc/httpd/conf/server.key 2048

/usr/bin/openssl req -new -key /etc/httpd/conf/server.key -out /etc/httpd/conf/server.csr


然后我更新了配置文件...
# Paths to the SSL certificate and key for the web server. When both are
# provided SSL will be enabled. This does not change the web server port.
web_server_ssl_cert = /etc/httpd/conf/server.csr
web_server_ssl_key = /etc/httpd/conf/server.key


然后我重新启动网络服务器,并在网页上收到以下错误:
Forbidden

'[SSL] PEM lib (_ssl.c:3337)'

如果有人对如何在 Airflow 实例上启用 SSL 有任何经验或指示,我将不胜感激!我现在有点走投无路,似乎网上的其他人都没有得到满意的答案。

最佳答案

为将来可能遇到此问题的人发布答案。我发现关键是生成 .crt 和 .key 文件,而不是使用 openssl 生成的 .csr 文件。

openssl req \
       -newkey rsa:2048 -nodes -keyout domain.key \
       -x509 -days 365 -out domain.crt

https://www.digitalocean.com/community/tutorials/openssl-essentials-working-with-ssl-certificates-private-keys-and-csrs

请注意,这并不意味着证书将被签名......对于您的用例可能重要也可能不重要。

关于https - 如何在 Airflow Webserver 上启用 SSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56707707/

相关文章:

rest - Neo4j SSL 文件是 snakeoil.cert 和 snakeoil.key PEM 文件吗?

java - Jetty 需要 URL 的 SSL 客户端证书

security - 用静态证书解密openssl数据包

oracle - Airflow Oracle 运算符(operator)

ssl - 如何为 Heroku 上的 Spring Boot 应用程序强制使用 HTTPS?

python - 为什么我不能从网络数据流创建文件对象

c - 从证书中提取公共(public)证书

java - 如何创建用于 Apache Tomcat 的 X509 自签名证书

python - 有什么方法可以找到 DAG 中任意随机任务所花费的时间吗?

postgresql - psycopg2.OperationalError 致命 : role "ubuntu" does not exist