win10+python+Flask设置SSL证书,使用https服务
本人也是看了很多博客,才學(xué)會(huì)的。
Flask使用SSL搭建HTTPS服務(wù)
這樣,就可以開(kāi)啟一個(gè)https服務(wù):
控制臺(tái)輸出如下:
這樣,就可以通過(guò)https://127.0.0.1:7000/訪問(wèn)flask程序了(注意,由于證書(shū)不是由受信任的第三方機(jī)構(gòu)CA簽發(fā)的證書(shū),而是自己的,瀏覽器會(huì)提示有風(fēng)險(xiǎn),直接選擇“繼續(xù)訪問(wèn)”就可以了)~
但是,這還不夠,我們還是希望能夠使用自己指定的證書(shū)或者自己簽發(fā)一個(gè)證書(shū)給自己使用。(如果有報(bào)錯(cuò),需要安裝pycrypto庫(kù)、paramiko庫(kù)以及按提示安裝visual c++ build tools 14.0以上版本,vc要裝比較久,但是裝好就可以了)
2. 使用一個(gè)自己指定的證書(shū)運(yùn)行https服務(wù):
只需要將ssl_context參數(shù)改成一個(gè)元組,第零位是crt文件路徑,第一位是key文件路徑即可開(kāi)啟https服務(wù)~
但這樣運(yùn)行https服務(wù),瀏覽器同樣會(huì)提示有風(fēng)險(xiǎn)。
3. 如何生成一個(gè)自簽證書(shū)呢?很簡(jiǎn)單,只需要安裝一個(gè)openssl。如何安裝openssl呢?先去下載::http://slproweb.com/products/Win32OpenSSL.html 下載windows的release版本,exe、msi都可以。下載后安裝。安裝好后,將安裝目錄的bin文件夾添加到環(huán)境變量(例如我拍的是C:\Program Files\OpenSSL-Win64\bin)然后就可以在命令行通過(guò)輸入openssl調(diào)用openssl了,接下來(lái),在你想要?jiǎng)?chuàng)建證書(shū)的位置輸入以下幾行命令(本人從其他博主那里學(xué)來(lái)的,在這里表示感謝):
就生成了四個(gè)文件:server.crt server.csr server.key server.key.org 這樣,簽名就生成好了。
在生成過(guò)程中,需要填寫一些基本信息,如地址、組織、負(fù)責(zé)人、郵箱等等信息,以及設(shè)置密碼,按要求填寫即可。
現(xiàn)在,回到剛剛的flask代碼,在app.run那一行,將ssl_context參數(shù)元組改成剛剛生成好的crt、key文件的對(duì)應(yīng)路徑,運(yùn)行代碼,即可使用剛剛生成好的證書(shū)作為https的證書(shū)啦~但需要注意,此時(shí)瀏覽器仍會(huì)提示有風(fēng)險(xiǎn),因?yàn)檫@個(gè)證書(shū)是我們自己簽名的,而不是第三方頒發(fā)的CA證書(shū)。
4. 那么,如何獲得CA證書(shū)呢?那就需要向你所使用的云服務(wù)商申請(qǐng)了 一般都會(huì)收費(fèi),還需要備案啥的,網(wǎng)上的方法很多,本人就不講了~ 使用第三方認(rèn)證的CA證書(shū)替換自己生成的證書(shū)后,在瀏覽器打開(kāi)你的域名時(shí),就會(huì)看到url旁邊的小綠標(biāo),很舒服~
5. 第三方認(rèn)證的CA證書(shū)與自簽證書(shū)的區(qū)別在哪里?首先,這兩者都是可以進(jìn)行加密https通信的,安全性是一樣的。但是,自己簽的證書(shū)沒(méi)有第三方的驗(yàn)證,所以是不受信的,在瀏覽器瀏覽時(shí)會(huì)提示風(fēng)險(xiǎn)。第三方驗(yàn)證的證書(shū)可以在云服務(wù)提供商申請(qǐng),但是需要錢,以及會(huì)過(guò)期,管理起來(lái)比較繁瑣。而自己的證書(shū)是自己簽的,比較自由,也可以設(shè)置更長(zhǎng)的過(guò)期時(shí)間。
總結(jié)
以上是生活随笔為你收集整理的win10+python+Flask设置SSL证书,使用https服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 机动车变更登记
- 下一篇: python毕业设计 深度学习卫星遥感图