Comment démarrer le port https dans python web.py

王林
Libérer: 2023-05-17 21:07:07
avant
1307 Les gens l'ont consulté

python web.py démarre le port https

web.py a besoin d'un certificat SSL pour démarrer le port https. S'il n'y a pas de certificat SSL, il peut être généré comme suit.

openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
sudo openssl rsa -in server.key -out server.key
Copier après la connexion

L'exemple de programme est le suivant :

# -*- coding: utf-8 -*-
"""
Created on Mon May 10 20:37:00 2021
@author: Administrator
"""
import web              #web.py
urls = (
        '/server' , 'server', 
        '/.*', 'notfound'     #localhost:port/其他任意界面,访问notfound类
        )
class MyApplication(web.application):
    def run(self, port=8080, *middleware):
        func = self.wsgifunc(*middleware)
        return web.httpserver.runsimple(func, ('0.0.0.0', port))
class server:
    def __init__(self):
        self.return_msg = {'errorCode': 0, 'msg': '系统正常!'}     
    def POST(self):                    #POST处理方式与GET一致
        # content  = web.input()
        # print('收到消息:', content.key1, content.key2, content.key3)
        x = web.input(myfile={})
        print('xxx: ', x.keys())
        return str(self.return_msg).replace('\'', '\"')
class notfound:
    def GET(self):
        print('--from notfound')
        return '404 not found'
    def POST(self):
        print('--from notfound')
        return '404 not found'
from cheroot.server import HTTPServer
from cheroot.ssl.builtin import BuiltinSSLAdapter
HTTPServer.ssl_adapter = BuiltinSSLAdapter(
        certificate='server.crt',
        private_key='server.key')
if __name__ == "__main__":
    app = MyApplication(urls ,globals())
    app.run(port=443)
Copier après la connexion

Supplément : python web.py s'ouvre https

Étape 1 : Exécutez ce qui suit dans le shell dans l'ordre Commande, répondez à la question, définissez le mot de passe et générez le certificat, qui contient trois fichiers ***.crt, ***.key et ***.csr. Je les ai réorganisés sous le nom server.crt server.csr. server.key

 openssl genrsa -des3 -out server.key 1024
    openssl req -new -key server.key -out server.csr
    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
    mv server.key myserver.key
    mv server.crt myserver.crt
Copier après la connexion

Pour démarrer le service, entrez simplement le code ci-dessous, où

from handle import Handle présente mon module de méthode, qui est appelé dans les URL (développé d'après le compte officiel WeChat) Exemple, spécifique si les novices peuvent le voir par eux-mêmes), et enregistrez le chemin du fichier selon le vôtre

import web
from handle import Handle
from web.wsgiserver import CherryPyWSGIServer
CherryPyWSGIServer.ssl_certificate = "/usr/ssl/server.crt"
CherryPyWSGIServer.ssl_private_key = "/usr/ssl/server.key"
urls = (
    '/wx', 'Handle',
)
if __name__ == '__main__':
    app = web.application(urls, globals())
    app.run()
Copier après la connexion

Ensuite, démarrez le service sudo python main. py 443 (où 443 est le numéro de port)#🎜 🎜#

À ce stade, vous devez entrer le mot de passe que vous avez défini avant SSL pour l'ouvrir, mais cela signifie qu'il ne peut pas être masqué en arrière-plan. 🎜#

Mais dans le dossier où le certificat a été généré, exécutez sudo openssl rsa - in server.key -out server.key n'aura pas de mot de passe, il pourra donc être exécuté en arrière-plan

#🎜🎜 #nohup python main.py 443 &

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!