Search code examples
pythonresthttpsflask

can you add HTTPS functionality to a python flask web server?


I am trying to build a web interface to Mock up a restful interface on networking device this networking device uses Digest Authentication and HTTPS. I figured out how to integrate Digest Authentication into the web server but I cannot seem to find out how to get https using FLASK if you can show me how please comment on what i would need to do with the code below to make that happen.

from flask import Flask, jsonify

app = Flask(__name__)


@app.route('/')
def index():
    return 'Flask is running!'


@app.route('/data')
def names():
    data = {"names": ["John", "Jacob", "Julie", "Jennifer"]}
    return jsonify(data)


if __name__ == '__main__':
    app.run()

Solution

  • this also works in a pinch

    from flask import Flask, jsonify
    
    
    from OpenSSL import SSL
    context = SSL.Context(SSL.PROTOCOL_TLSv1_2)
    context.use_privatekey_file('server.key')
    context.use_certificate_file('server.crt')   
    
    
    app = Flask(__name__)
    
    
    @app.route('/')
    def index():
        return 'Flask is running!'
    
    
    @app.route('/data')
    def names():
        data = {"names": ["John", "Jacob", "Julie", "Jennifer"]}
        return jsonify(data)
    
    
    #if __name__ == '__main__':
    #    app.run()
    if __name__ == '__main__':  
         app.run(host='127.0.0.1', debug=True, ssl_context=context)