Heim  >  Artikel  >  Backend-Entwicklung  >  So starten Sie den https-Port in Python web.py

So starten Sie den https-Port in Python web.py

王林
王林nach vorne
2023-05-17 21:07:071268Durchsuche

python web.py startet den https-Port

​​​ Web.py benötigt ein SSL-Zertifikat, um den https-Port zu starten. Wenn kein SSL-Zertifikat vorhanden ist, kann es wie folgt generiert werden.

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

                                                                                             verwenden       verwenden                 verwenden durch aus aus aus aus aus aus aus aus outcer aus aus out outole outallowallowallowallowallowallowallow out out out out out out out out out through out through out out out out out out out over und ***.key und ***.csr, ich befehle erneut server.crt server.csr server.key

# -*- 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)

, um den Dienst zu starten. Geben Sie einfach den folgenden Code ein, in dem

from handle import Handle ist Einführung Mein Methodenmodul wird in URLs aufgerufen (nach dem vom offiziellen WeChat-Konto entwickelten Beispiel, wenn Sie ein Anfänger sind, können Sie es selbst sehen), gleichzeitig den Dateipfad entsprechend Ihrem eigenen speichern

 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
und dann starten der Dienst sudo python main.py 443( (443 ist die Portnummer)

Zu diesem Zeitpunkt müssen Sie das Passwort eingeben, das Sie vor SSL festgelegt haben, um es zu öffnen, aber dadurch wird verhindert, dass es im Hintergrund ausgeblendet wird.

Aber in dem Ordner, in dem das Zertifikat generiert wurde, führen Sie sudo openssl rsa -in server.key -out server.key aus, was bedeutet, dass kein Passwort vorhanden ist, sodass es im Hintergrund ausgeführt werden kann

nohup python main.py 443 &

Das obige ist der detaillierte Inhalt vonSo starten Sie den https-Port in Python web.py. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen