如何在Airflow Web服务器上启用SSL?

时间:2019-06-21 17:01:19

标签: https openssl airflow

我一直试图在我的Apache Airflow前端上通过SSL启用HTTPS,但是文档非常稀少,在线上没有很多好的示例。

我的Airflow实例当前正在Red Hat Linux VM上运行。我曾尝试生成密钥/证书,然后将配置文件指向相应的路径,但是它似乎不起作用。

从Airflow文档中看来,我们应该只是在Airflow中简单地生成证书和密钥的路径,并添加SSL证书和密钥的路径。我使用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

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

Forbidden

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

如果任何人有任何经验或关于如何在其Airflow实例上启用SSL的指示,我将不胜感激!我现在有点死胡同,似乎其他任何人都没有得到令人满意的答案。

1 个答案:

答案 0 :(得分:0)

为将来可能遇到此问题的人发布答案。我发现关键是与.key文件一起生成.crt,而不是使用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

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