最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django項目如何獲得SSL證書與配置HTTPS

 更新時間:2021年04月30日 16:10:32   作者:大江狗  
本文總結(jié)了如何獲得SSL證書并給Django項目配置HTTPS,建議先收藏再閱讀,將來有一天你很可能會用到它。

為什么你的網(wǎng)站需要支持HTTPS協(xié)議?

簡而言之:HTTPS = HTTP + SSL = 更安全的數(shù)據(jù)傳輸

HTTP協(xié)議簡稱超文本傳輸協(xié)議,它廣泛用于在Web瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息。HTTP協(xié)議的缺點是它以明文方式發(fā)送內(nèi)容(包括用戶密碼),不提供任何方式的數(shù)據(jù)加密。如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸文本,就可以直接讀取其中的信息。

為了解決這個隱患和保證數(shù)據(jù)的傳輸安全,HTTPS協(xié)議(安全套接字層超文本傳輸協(xié)議)誕生了。它在HTTP的基礎(chǔ)上加入了SSL協(xié)議,SSL依靠證書來驗證服務(wù)器的身份,并為瀏覽器和服務(wù)器之間的通信數(shù)據(jù)加密。

注意:HTTP協(xié)議默認(rèn)使用的端口是80端口,HTTPS協(xié)議默認(rèn)使用的端口是443端口。如果你使用云服務(wù)器,請確保設(shè)置安全組時已經(jīng)開放了443端口。

如何在生產(chǎn)環(huán)境中部署Django項目時配置HTTPS?

一共分三步:

1. 購買下載SSL證書,通常包括一張證書(.cert或.pem)和一個私有密鑰文件(.key)。

2. 修改Nginx或Apache配置信息,并上傳下載頒發(fā)的SSL證書及key到指定文件夾

3. 修改Django配置文件settings.py

第一步:購買下載SSL證書

SSL證書有很多種, 級別越高越貴,網(wǎng)上的免費午餐并不多。對于個人網(wǎng)站使用單域名的DV SSL證書一般就夠了,這種證書阿里云做活動期間是可以免費申請的。購買SSL證書時選擇單域名-DV SSL-免費版即可,如下圖所示。收費版的SSL證書價格比較便宜的還namecheap。

無論哪個SSL證書服務(wù)商最后都會提供證書下載鏈接或直接將證書發(fā)送到你的郵箱,只是流程不同而已。隨后你需要將下載的證書上傳到服務(wù)器指定文件夾,見下一步。

第二步:修改Nginx配置信息

在生產(chǎn)環(huán)境中部署Django時我們一般以Nginx做反向代理和靜態(tài)文件服務(wù)器,這里簡單說下Nginx的配置信息。Nginx配置文件通常位于/etc/nginx/conf.d目錄下,修改配置文件添加SSL相關(guān)信息。

# /etc/nginx/conf.d目錄下的配置文件
server {
listen 443 ssl; 監(jiān)聽443端口
ssl_certificate /path/to/certificate/your_domain_chain.crt; # 證書地址
ssl_certificate_key /path/to/your_private.key; # 私有密鑰文件地址
server_name your_domain.com www.your_domain.com; # 域名
}

SSL證書和私有密鑰文件可以上傳到服務(wù)器上任何一個指定目錄,但通常做法是將其上傳到Linux的/usr/share/nginx/ssl目錄下,所以上述配置信息可以簡化為:

# /etc/nginx/conf.d目錄下的配置文件
server {
listen 443 ssl; 監(jiān)聽443端口
ssl_certificate /usr/share/nginx/ssl/your_domain_chain.crt; # 證書地址
ssl_certificate_key /usr/share/nginx/ssl/your_private.key; # 私有密鑰文件地址
server_name your_domain.com www.your_domain.com; # 域名
}

你還可以將所有來自80端口的http請求永久地重定向至https。

server {
listen 80; # 監(jiān)聽80端口
server_name your_domain.com www.your_domain.com;
return 301 https://$server_name$request_uri; # 永久重定向
}

第三步 修改Django的settings.py

當(dāng)你的網(wǎng)站支持https后,你可以在settings.py新增如下安全配置,可以給網(wǎng)站和用戶數(shù)據(jù)提供更高級別的保護(hù)。這個設(shè)置也是django cookiecutter推薦的在生產(chǎn)環(huán)境中的默認(rèn)配置。

# SECURITY安全設(shè)置 - 支持http時建議開啟
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
SECURE_SSL_REDIRECT = True # 將所有非SSL請求永久重定向到SSL
SESSION_COOKIE_SECURE = True # 僅通過https傳輸cookie
CSRF_COOKIE_SECURE = True # 僅通過https傳輸cookie
SECURE_HSTS_INCLUDE_SUBDOMAINS = True # 嚴(yán)格要求使用https協(xié)議傳輸
SECURE_HSTS_PRELOAD = True # HSTS為
SECURE_HSTS_SECONDS = 60
SECURE_CONTENT_TYPE_NOSNIFF = True # 防止瀏覽器猜測資產(chǎn)的內(nèi)容類型

注意:Django的SECURE_SSL_REDIRECT = True也可實現(xiàn)80端口的http請求永久地重定向至https, 與Nginx的301重定向設(shè)置選其一即可。Django以上的幾個安全設(shè)置均依賴下面這個SecurityMiddleware中間件。

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
]

小結(jié)

Django項目上線時配置https非常簡單,僅需3步。你學(xué)會了嗎?

以上就是Django項目如何獲得SSL證書與配置HTTPS的詳細(xì)內(nèi)容,更多關(guān)于Django 獲得SSL證書與配置HTTPS的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • PaddleNLP ppdiffusers 自動生成兔了個兔海報

    PaddleNLP ppdiffusers 自動生成兔了個兔海報

    這篇文章主要為大家介紹了PaddleNLP ppdiffusers 自動生成兔了個兔海報示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Python餅狀圖的繪制實例

    Python餅狀圖的繪制實例

    今天小編就為大家分享一篇關(guān)于Python餅狀圖的繪制實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Python 查找list中的某個元素的所有的下標(biāo)方法

    Python 查找list中的某個元素的所有的下標(biāo)方法

    今天小編就為大家分享一篇Python 查找list中的某個元素的所有的下標(biāo)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 利用python來跟蹤ip地址的方法

    利用python來跟蹤ip地址的方法

    今天來介紹一個流行的 python庫 ip2geotools,使用它可以確定 IP地址 對應(yīng)的 國家、地區(qū)、城市、緯度和經(jīng)度等,文中通過代碼示例介紹了如何使用python來跟蹤ip地址,需要的朋友可以參考下
    2023-06-06
  • python 常用日期處理-- datetime 模塊的使用

    python 常用日期處理-- datetime 模塊的使用

    這篇文章主要介紹了python 如何對日期進(jìn)行處理,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • Python基于pygame實現(xiàn)的彈力球效果(附源碼)

    Python基于pygame實現(xiàn)的彈力球效果(附源碼)

    這篇文章主要介紹了Python基于pygame實現(xiàn)的彈力球效果,涉及pygame圖形動態(tài)操作的相關(guān)的技巧,并附帶了完整的源碼供讀者下載參考,需要的朋友可以參考下
    2015-11-11
  • python開發(fā)之文件操作用法實例

    python開發(fā)之文件操作用法實例

    這篇文章主要介紹了python開發(fā)之文件操作用法,以實例形式較為詳細(xì)的分析了Python針對文件的路徑、文件名、后綴名等操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • Python中緩存lru_cache的基本介紹和講解

    Python中緩存lru_cache的基本介紹和講解

    緩存是一種將定量數(shù)據(jù)加以保存以備迎合后續(xù)請求的處理方式,旨在加快數(shù)據(jù)的檢索速度,下面這篇文章主要給大家介紹了關(guān)于Python中緩存lru_cache的基本介紹和講解的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • 解決python-redis-lock分布式鎖的問題

    解決python-redis-lock分布式鎖的問題

    這篇文章主要介紹了python-redis-lock分布式鎖的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-10-10
  • 如何利用pyecharts畫好看的餅狀圖

    如何利用pyecharts畫好看的餅狀圖

    這篇文章主要給大家介紹了關(guān)于如何利用pyecharts畫好看的餅狀圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評論

霍山县| 金沙县| 科尔| 桐柏县| 新化县| 广平县| 娱乐| 米泉市| 高清| 开远市| 巢湖市| 克什克腾旗| 武威市| 萨嘎县| 沿河| 潮安县| 南平市| 通道| 姚安县| 化德县| 平定县| 娄底市| 图木舒克市| 个旧市| 鸡东县| 塘沽区| 若尔盖县| 沽源县| 长岛县| 彩票| 全椒县| 柘城县| 宣武区| 杭锦旗| 元氏县| 广饶县| 荃湾区| 城固县| 铁力市| 东乡县| 武邑县|