2017-12-19 17 views
0

Ich bin mit Airflow 1.7.0 mit einer LocalExecutor und Dokumentation schlägt vor, dass die SSL zu aktivieren, müssen wir cert und Schlüsselpfad passieren und den Port 443, wie untenSo aktivieren Sie SSL auf Apache Airflow?

[webserver] 
web_server_ssl_cert = <path to cert> 
web_server_ssl_key = <path to key> 

# Optionally, set the server to listen on the standard SSL port. 
web_server_port = 443 
base_url = http://<hostname or IP>:443 

ich geschaffen habe cert ändern und Schlüssel generiert mit OpenSSL. Die Details, die bei der Erstellung des Zertifikats/Schlüssels mitgegeben wurden, sind richtig. Die Airflow-Benutzeroberfläche ist jedoch immer noch http und nicht https.

Alle Zeiger würden helfen!

Vielen Dank!

Antwort

0

Airflow 1.7.0 unterstützt kein SSL. Ich habe gerade den Webserver Code von Luftstrom 1.7.0 überprüft. Der Code ist unten angegeben. Diese Funktion startet die Flask/Gunicorn-Anwendung auf HTTP mit dem Host und dem Port. Wenn Sie das Zertifikat angeben und den Port als 443 angeben, wird die Anwendung einfach unter http://<host>:443 gestartet. Es akzeptiert den SSL-Schlüssel und das Zertifikat nicht. Die Webserver-Funktion von Airflow 1.7.0 ist unten aufgeführt.

Die SSL-Funktion ist mit der neuesten Version des Apache Airflow verfügbar. Bitte verwenden Sie die neueste Version für die SSL-Unterstützung.

def webserver(args): 
    print(settings.HEADER) 
    from airflow.www.app import cached_app 
    app = cached_app(configuration) 
    workers = args.workers or configuration.get('webserver', 'workers') 
    if args.debug: 
     print(
      "Starting the web server on port {0} and host {1}.".format(
       args.port, args.hostname)) 
     app.run(debug=True, port=args.port, host=args.hostname) 
    else: 
     print(
      'Running the Gunicorn server with {workers} {args.workerclass}' 
      'workers on host {args.hostname} and port ' 
      '{args.port}...'.format(**locals())) 

     sp = subprocess.Popen([ 
      'gunicorn', '-w', str(args.workers), '-k', str(args.workerclass), 
      '-t', '120', '-b', args.hostname + ':' + str(args.port), 
      'airflow.www.app:cached_app()']) 
     sp.wait() 
Verwandte Themen