
Flask generalmente tiene un protocolo HTTP al iniciar un servidor web. La biblioteca de notificaciones y algunas otras deben cumplir con el protocolo HTTPS. Algunos ajustes y trucos pueden ayudarnos a cambiar a HTTPS.
HTTP: Protocolo estándar de transmisión No hay encriptación para paquetes de datos en Internet.Herramientas como esta Tiburón de línea Puede capturar fácilmente sus paquetes de datos.
HTTPS: La versión segura del protocolo HTTP.eso Cifre todos los paquetes de datos en contraseñas, Solo se puede utilizar un descifrado válido Llave privada.
Cómo crear un servidor HTTPS en Node Js
Ahora aprenderá cómo cambiar del servidor web Flask Protocolo HTTP a HTTPS.
Instale Python, Flask y OpenSSL
Es necesario instalar una o dos aplicaciones, dependiendo de su sistema——Python y frasco Se utiliza para iniciar el servidor web y SSL abierto Genere un certificado autofirmado.
Linux: Estos paquetes se pueden instalar en Repositorio del sistemaEjecute los siguientes comandos en la terminal para instalar todos los paquetes necesarios.
$ sudo apt update
$ sudo apt install python
$ sudo apt install python-pip
De forma predeterminada, todas las distribuciones de Linux pueden utilizar OpenSSL.
Windows 10/11: Estos paquetes se pueden instalar en Paquete independientePara descargar Python, haga clic aquí.Para OpenSSL, puede utilizar consola git bash.
Generar certificado
Tienes que generar un Certificado autofirmado Junto con su clave.Se utilizan para comprobar los permisos del sitio y Paquete de datos encriptados.
Para usuarios de Linux, utilice para abrir su terminal Ctrl + Alt + T Para los usuarios de Windows, puede abrir su consola git bash Desde el menú de inicio y escriba los siguientes comandos.
$ openssl req -x509 --newkey rsa:4096 --out cert.pem --keyout key.pem --days 365
A continuación, hará preguntas generales como nombres de países / regiones, correos electrónicos, nombres de organizaciones, etc. en el código de dos letras. La información que desee proporcionar no es necesaria, depende de usted.
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:
Se generarán dos nombres de archivo «Certificado.pem» y «Key.pem». Cree una nueva carpeta llamada cert en el directorio de su proyecto y muévalas allí.
Escribir código
A continuación se muestra la plantilla básica que usamos tradicionalmente para comenzar una Servidor web HTTP estándar.
from flask import * app = Flask(__name__) @app.route("/") def home(): return "TREND OCEANS" if __name__=="__main__": app.run(port=4000)
Para iniciar el servidor HTTPS con el código anterior, debe implementar un certificado autofirmado. Hay tres cosas básicas para crear un servidor seguro.
- Genera la clave.
- Asignar certificados y claves a variables.
- Especifique esta variable para ejecutar la función.
Los tres puntos se implementan en el código siguiente.
from flask import *
app = Flask(__name__)
app.secret_key = "abc" #Secret Key
@app.route("/")
def home():
return "TREND OCEANS"
if __name__=="__main__":
context = ('./cert/cert.pem', './cert/key.pem') #Location of certificate & key
app.run(port=4000, ssl_context=context) #Specify variable to run function
Guarde el archivo e inicie su servidor web Flask.
Mente técnica innovadora con 10 años de experiencia como programador informático, desarrollador web e investigador de seguridad. Capacidad para utilizar diversas tecnologías y soluciones de software, y gestionar bases de datos.