अब मैं सर्वर का उपयोग http और https दोनों वहाँ ऐसा करने के लिए किसी भी संभव तरीका है चलाना चाहते हैं ??
मुझे हाल ही में एक ही समस्या है। https के लिए http के लिए एक, एक और: एक प्रॉक्सी प्रयोग किया जाता है कि क्या के बाद http https पर रीडायरेक्ट कर रहा है, मैं सिर्फ अलग बंदरगाहों पर दो प्रक्रियाओं शुरू कर दिया है परीक्षण करने के लिए कहने के लिए
#!/usr/bin/env python3
"""Serve both http and https. Redirect http to https."""
from flask import Flask, abort, redirect, request # $ pip install flask
app = Flask(__name__)
@app.route('/')
def index():
if request.url.startswith('http://'):
return redirect(request.url.replace('http', 'https', 1)
.replace('080', '443', 1))
elif request.url.startswith('https://'):
return 'Hello HTTPS World!'
abort(500)
def https_app(**kwargs):
import ssl
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
context.load_cert_chain('server.crt', 'server.key')
app.run(ssl_context=context, **kwargs)
if __name__ == "__main__":
from multiprocessing import Process
kwargs = dict(host='localhost')
Process(target=https_app, kwargs=dict(kwargs, port=7443),
daemon=True).start()
app.run(port=7080, **kwargs)
जरूरत नहीं है, यह केवल परीक्षण के लिए है/डिबगिंग उद्देश्यों।
वैसे मैं फ्लास्क चलाने के लिए mod_wsgi के साथ अपाचे का उपयोग कर रहा हूं, मैंने अलग-अलग बंदरगाहों पर दोनों (http और https) का उपयोग करने के लिए अपाचे को कॉन्फ़िगर करने में कामयाब रहा है 80 और 443 यह https के साथ ठीक काम कर रहा है लेकिन http कनेक्शन ssl_context तक काम नहीं कर रहा है फ्लास्क –
में सक्षम है app.run का उपयोग न करें जब आप किसी वास्तविक सर्वर के पीछे चल रहे हों। – Tritium21
तब मुझे क्या उपयोग करना चाहिए? –