Django應用配置https訪問,將訪問django的http請求轉成https請求

在前後端分離開發過程中,前端項目vue打包部署到服務器上,通過寶塔面板來申請、部署SSL證書,前端打開是安全的,可是我的api host設置的訪問http://x.x.x.x,結果報錯了,提示在已部署https的情況下,訪問的server地址必須是ssl協議的,也就是需要通過https://x.x.x.x這樣請求接口。

前端申請證書還是方便的,後端的話之前從來沒有弄過,百度了很多教程,發現django也可以通過ssl協議來啓動,所以將這一過程記錄下來,希望對有需要的朋友有所幫助。

操作方法:

安裝ssl庫

pip install django-sslserver

配置settings

# settings.py 添加:
SECURE_SSL_REDIRECT = False
INSTALLED_APPS = (
    "sslserver",
)

通過ssl啓動

python manage.py runsslserver

把certificate地址,key地址,copy下來,進行接下來的請求

指定證書啓動django應用

python manage.py runsslserver --certificate /path/to/certificate.crt --key /path/to/key.key

說明
當SECURE_SSL_REDIRECT = False時,http請求無響應,https請求能正確訪問。 當SECURE_SSL_REDIRECT = True時,http請求會重定向https,此時django支持https,可正確訪問。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章