Web.py가 https 포트를 시작하려면 SSL 인증서가 필요합니다. SSL 인증서가 없는 경우 다음과 같이 생성할 수 있습니다.
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
사용 사용 사용 out through off out off out off out off out out out out out outole outallowallowallowallowallow outallow out out out out out out out out out out through out through out out out out out out out out out over crt. 그리고 ***.key 및 ***.csr, 서비스를 시작하려면 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)
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
에 따라 작성한 다음 sudo 서비스를 시작합니다. python main.py 443( (443은 포트 번호)이때 SSL 이전에 설정한 비밀번호를 입력해야 열 수 있는데, 이렇게 하면 백그라운드에서 숨겨지는 것을 방지할 수 있습니다.
하지만 인증서가 생성된 폴더에서 sudo openssl rsa -in server.key -out server.key를 실행하면 비밀번호가 없으므로 백그라운드에서 실행될 수 있다는 뜻입니다
nohup python main.py 443 &
위 내용은 Python web.py에서 https 포트를 시작하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!