我一直试图在我的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的指示,我将不胜感激!我现在有点死胡同,似乎其他任何人都没有得到令人满意的答案。
答案 0 :(得分:0)
为将来可能遇到此问题的人发布答案。我发现关键是与.key文件一起生成.crt,而不是使用openssl生成.csr文件。
openssl req \
-newkey rsa:2048 -nodes -keyout domain.key \
-x509 -days 365 -out domain.crt
请注意,这并不意味着证书将被签名……对于您的用例而言可能不重要。