日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

win10+python+Flask设置SSL证书,使用https服务

發布時間:2024/1/18 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 win10+python+Flask设置SSL证书,使用https服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本人也是看了很多博客,才學會的。

Flask使用SSL搭建HTTPS服務

  • 直接使用ssl:
  • from flask import *app = Flask(__name__)@app.route('/') def index():return '<h1>hello</h1>'if __name__ == '__main__':app.run(port=7000, ssl_context='adhoc')

    這樣,就可以開啟一個https服務:
    控制臺輸出如下:

    * Serving Flask app "main" (lazy loading)* Environment: productionWARNING: This is a development server. Do not use it in a production deployment.Use a production WSGI server instead.* Debug mode: on* Restarting with stat* Debugger is active!* Debugger PIN: 620-590-151* Running on https://127.0.0.1:7000/ (Press CTRL+C to quit)

    這樣,就可以通過https://127.0.0.1:7000/訪問flask程序了(注意,由于證書不是由受信任的第三方機構CA簽發的證書,而是自己的,瀏覽器會提示有風險,直接選擇“繼續訪問”就可以了)~
    但是,這還不夠,我們還是希望能夠使用自己指定的證書或者自己簽發一個證書給自己使用。(如果有報錯,需要安裝pycrypto庫、paramiko庫以及按提示安裝visual c++ build tools 14.0以上版本,vc要裝比較久,但是裝好就可以了)
    2. 使用一個自己指定的證書運行https服務:

    from flask import *app = Flask(__name__)@app.route('/') def index():return '<h1>hello</h1>'if __name__ == '__main__':app.run(port=7000, ssl_context=('key/server.crt', 'key/server.key'), debug=True)

    只需要將ssl_context參數改成一個元組,第零位是crt文件路徑,第一位是key文件路徑即可開啟https服務~
    但這樣運行https服務,瀏覽器同樣會提示有風險。
    3. 如何生成一個自簽證書呢?很簡單,只需要安裝一個openssl。如何安裝openssl呢?先去下載::http://slproweb.com/products/Win32OpenSSL.html 下載windows的release版本,exe、msi都可以。下載后安裝。安裝好后,將安裝目錄的bin文件夾添加到環境變量(例如我拍的是C:\Program Files\OpenSSL-Win64\bin)然后就可以在命令行通過輸入openssl調用openssl了,接下來,在你想要創建證書的位置輸入以下幾行命令(本人從其他博主那里學來的,在這里表示感謝):

    # 生成私鑰 openssl genrsa -des3 -out server.key 1024 # 生成csr文件 openssl req -new -key server.key -out server.csr cp server.key server.key.org openssl rsa -in server.key.org -out server.key # 生成crt文件,有效期365天 openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

    就生成了四個文件:server.crt server.csr server.key server.key.org 這樣,簽名就生成好了。
    在生成過程中,需要填寫一些基本信息,如地址、組織、負責人、郵箱等等信息,以及設置密碼,按要求填寫即可。

    現在,回到剛剛的flask代碼,在app.run那一行,將ssl_context參數元組改成剛剛生成好的crt、key文件的對應路徑,運行代碼,即可使用剛剛生成好的證書作為https的證書啦~但需要注意,此時瀏覽器仍會提示有風險,因為這個證書是我們自己簽名的,而不是第三方頒發的CA證書。
    4. 那么,如何獲得CA證書呢?那就需要向你所使用的云服務商申請了 一般都會收費,還需要備案啥的,網上的方法很多,本人就不講了~ 使用第三方認證的CA證書替換自己生成的證書后,在瀏覽器打開你的域名時,就會看到url旁邊的小綠標,很舒服~
    5. 第三方認證的CA證書與自簽證書的區別在哪里?首先,這兩者都是可以進行加密https通信的,安全性是一樣的。但是,自己簽的證書沒有第三方的驗證,所以是不受信的,在瀏覽器瀏覽時會提示風險。第三方驗證的證書可以在云服務提供商申請,但是需要錢,以及會過期,管理起來比較繁瑣。而自己的證書是自己簽的,比較自由,也可以設置更長的過期時間。

    總結

    以上是生活随笔為你收集整理的win10+python+Flask设置SSL证书,使用https服务的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。