我被一個問題困住了一段時間,無法爲它找到正確的解決方案。(Python)將證書添加到瓶服務器
我有一個基於Bottle(Python 3)與PyCharm編寫的python服務器。我正在使用「pyinstaller」將我的文件轉換爲一個「exe」以在固定PC(win7)上啓動服務器。服務器可以正常工作,但現在我想爲它增加更多的安全性。
我有一個簽名證書(不是自簽名)和一個我想要添加的密鑰。我試圖與他們一起啓動服務器,但我不確定,如果我必須對他們做其他事情,因爲證書沒有顯示在信息的主頁上,並且網站仍顯示爲不保存。
我正常的服務器與運行:
from bottle import run, ...
...
if __name__ == "__main__":
...
run(host=IP, port=PORT)
我已經嘗試了一些瓶子框架和我結束了CherryPy的對視了一眼,啓動我的服務器以適當的方式。 服務器與運行:
run(host=IP, port=PORT, server='cherrypy', certfile='./static/MyCert.pem', keyfile='./static/key.pem')
它不與CherryPy的當前版本的工作,所以我降級它(一些搜索之後)「> = 3.0.8,9.0.0 <」。 服務器正在運行,但該網站仍未保存。我不知道它是否沒有加載證書,或者我錯過了其他的東西。我嘗試了在代碼中保留「密鑰文件」或者將密鑰添加到我的證書中,但它不會改變任何內容。
我嘗試另一個框架是GEVENT:
from gevent import monkey; monkey.patch_all()
...
if __name__ == "__main__":
run(host=IP, port=PORT, reloader=False, server='gevent', certfile='./static/MyCert.pem', keyfile='./static/key.pem')
但在這裏我不能去的網站。當我嘗試時,終端要求我提供PEM短語,但我不能添加它(或者只是不知道如何),並得到一個我從未見過的錯誤: terminal_error
Like in my cherrypy-例如,我嘗試使用某些代碼的部分組合或更改證書,但總是在此處結束。
這將是很好,如果有人有我的問題的解決方案或可以給我一個什麼我失蹤或只是還沒有想過的暗示。我希望繼續使用cherrypy或Bottle的其他框架,所以我不必更改當前的大部分代碼。
感謝
P.