我一直在尝试在我的 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/