人人做人人干-人人做人人看-人人做人人爽国产视-人人做人人爽人人爱-色屋视频-色屋网

歡迎您光臨深圳塔燈網絡科技有限公司!
電話圖標 余先生:13699882642

網站百科

為您解碼網站建設的點點滴滴

服務器配置https協議,三種免費的方法

發表日期:2018-05 文章編輯:小燈 瀏覽次數:2316

第1步:生成私鑰

執行如下命令生成一個RSA私鑰

//生成rsa私鑰,des3算法,1024位強度,ssl.key是秘鑰文件名。 openssl genrsa -des3 -out ssl.key 1024 

然后他會要求你輸入這個key文件的密碼,由你隨便設置。
由于以后要給nginx使用。每次reload nginx配置時候都要你驗證這個PAM密碼的。
但是生成時候必須輸入密碼。如果不想以后那么麻煩,生成之后可以執行如下命令再刪掉。

openssl rsa -in ssl.key -out ssl.key 
第2步:生成CSR(證書簽名請求)

根據剛剛生成的key文件來生成證書請求文件,操作如下:

openssl req -new -key ssl.key -out ssl.csr 

說明:執行以上命令后,需要依次輸入國家、地區、城市、組織、組織單位、Common Name和Email。其中Common Name應該與域名保持一致。

Country Name (2 letter code) [AU]:CN State or Province Name (full name) [Some-State]:GuangDong Locality Name (eg, city) []:ShenZhen Organization Name (eg, company) [Internet Widgits Pty Ltd]:tsy Organizational Unit Name (eg, section) []:tsy Common Name (e.g. server FQDN or YOUR name) []:selfssl.hxkj.vip 這一項必須和你的域名一致 Email Address []:t@tsy6.com 
第3步:生成自簽名證書

根據以上2個文件生成crt證書文件,執行下面命令:

//這里3650是證書有效期(單位:天)。這個大家隨意。最后使用到的文件是key和crt文件。 openssl x509 -req -days 3650 -in ssl.csr -signkey ssl.key -out ssl.crt 

需要注意的是,在使用自簽名的臨時證書時,瀏覽器會提示證書的頒發機構是未知的。

第4步:安裝私鑰和證書

打開conf目錄中的nginx.conf配置文件修改443端口監聽配置。一般nginx配置文件默認路徑為 /etc/nginx/nginx.conf,執行如下命令打開并修改:

vim /etc/nginx/nginx.conf//路徑是你的nginx配置文件路徑 

Nginx默認配置是將443端口的監聽配置注釋掉了的,如下:

# Settings for a TLS enabled server. #server { #listen 443; #server_namelocalhost; #ssl on; #root /usr/share/nginx/html;#ssl_certificate ""; #ssl_certificate_key ""; #ssl_session_cache shared:SSL:1m; #ssl_session_timeout5m; #ssl_protocols SSLv2 SSLv3 TLSv1; #ssl_ciphers HIGH:!aNULL:!MD5; #ssl_prefer_server_ciphers on; # # Load configuration files for the default server block. #include /etc/nginx/default.d/*.conf; # #location / { #} # #error_page 404 /404.html; #location = /40x.html { #} # #error_page 500 502 503 504 /50x.html; #location = /50x.html { #} #} 

將注釋打開,并對其中部分內容進行修改,修改后如下:

# Settings for a TLS enabled server. server { listen 443; server_nameselfssl.hxkj.vip;//此處填寫你自己的域名 ssl on; root /usr/share/nginx/html;ssl_certificate "/home/ssl/ssl.crt"; //此處填寫剛剛生成的ssl.crt文件路徑 ssl_certificate_key "/home/ssl/ssl.key";//此處填寫剛剛生成的ssl.key文件路徑 ssl_session_cache shared:SSL:1m; ssl_session_timeout5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on;location / { }error_page 404 /404.html; location = /40x.html { }error_page 500 502 503 504 /50x.html; location = /50x.html { } } 

修改配置并保存后,執行以下命令:

nginx -s reload 

可使nginx重新加載配置,使配置生效。

OK,到這里就完成了使用Linux自簽的方法配置https協議,大家也可訪問我的頁面來查看效果,地址:https://selfssl.hxkj.vip

tips:自簽證書因為安全性很低,會被谷歌瀏覽器攔截

下面是證書檢測詳情
自簽證書檢測詳情

二、阿里云免費證書

第1步:登陸阿里云賬號,選擇證書服務
選擇證書服務.png
第2步:選擇DV SS
選DV SSL.png
第3步:選擇Symantec
選Symantec.png
第4步:選擇OV SSL
選OV SSL.png
第5步:選擇免費型DV SSL
選免費型DV SSL.png
第6步:好,經過曲折的選擇完畢之后,購買,需要支付0元(免費的啦)
購買.png
第7步:購買成功之后會返回證書控制臺,然后點擊補全信息
補全.png
第8步:需要填寫證書綁定的域名,根據自己的需求填寫就OK
輸入域名.png
第9步:填寫申請人的個人信息,如實填寫就好
填寫信息.png
第10步:補全成功之后,會返回域名配置引導頁,如圖所示
域名配置TXT記錄.png
第11步:打開自己的域名控制臺,添加解析
添加解析.png
第12步:給域名添加TXT記錄,此處填寫的是第10步的信息,如圖所示
添加TXT記錄.png
第13步:確認完畢之后,會自動返回證書配置頁,可以進行配置檢測
檢測配置.png

如果配置正確,左邊會顯示“DNS配置記錄正確,請耐心等候”。否則的話,就是域名TXT記錄配置錯誤,返回檢查第12步的信息是否填寫正確

第14步:一般10分鐘之內就出結果了,配置正確的話,會自動返回這個頁面,下載證書
下載證書.png
第15步:安裝證書,阿里教程挺詳細的,就不做贅述了
安裝教程.png

下面是我的nginx配置內容,可供參考:

server { listen 443; server_namealissl.hxkj.vip; ssl on; root /usr/share/nginx/html;ssl_certificate "/home/alissl/214715369370158.pem"; ssl_certificate_key "/home/alissl/214715369370158.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_prefer_server_ciphers on;location / { }error_page 404 /404.html; location = /40x.html { }error_page 500 502 503 504 /50x.html; location = /50x.html { } }

修改配置并保存后,執行以下命令:

nginx -s reload 

可使nginx重新加載配置,使配置生效。

OK,到這里就完成了使用阿里云免費證書的方法配置https協議,大家也可訪問我的頁面來查看效果,地址:https://alissl.hxkj.vip
下面是證書檢測詳情
阿里證書詳情.png

三、Let's Encrypt免費證書

1:Let's Encrypt簡介

Let's Encrypt作為一個公共且免費SSL的項目逐漸被廣大用戶傳播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等組織人員發起,主要的目的也是為了推進網站從HTTP向HTTPS過度的進程,目前已經有越來越多的商家加入和贊助支持。

Let's Encrypt免費SSL證書的出現,也會對傳統提供付費SSL證書服務的商家有不小的打擊。到目前為止,Let's Encrypt獲得IdenTrust交叉簽名,這就是說可以應用且支持包括FireFox、Chrome在內的主流瀏覽器的兼容和支持,雖然目前是公測階段,但是也有不少的用戶在自有網站項目中正式使用起來。

Let's Encrypt 的最大貢獻是它的 ACME 協議,第一份全自動服務器身份驗證協議,以及配套的基礎設施和客戶端。這是為了解決一直以來 HTTPS TLS X.509 PKI 信任模型,即證書權威(Certificate Authority, CA)模型缺陷的一個起步。在客戶端-服務器數據傳輸中,公私鑰加密使得公鑰可以明文傳輸而依然保密數據,但公鑰本身是否屬于服務器,或公鑰與服務器是否同屬一個身份,是無法簡單驗證的。證書權威模型通過引入事先信任的第三方,由第三方去驗證這一點,并通過在服務器公鑰上簽名的方式來認證服務器。第三方的公鑰則在事先就約定并離線準備好,以備訪問時驗證簽名之用。這個第三方就稱為證書權威,簡稱CA。相應的,CA驗證過的公鑰被稱為證書。問題是,如果服務器私鑰泄露,CA無法離線使對應的證書無效化,只能另外發布無效記錄供客戶端查詢。也就是說,在私鑰泄露到CA發布無效記錄的窗口內,中間人可以肆意監控服-客之間的傳輸。如果中間人設法屏蔽了客戶端對無效記錄的訪問,那么直到證書過期,中間人都可以進行監控。而由于當前CA驗證和簽發證書大多手動,證書有效期往往在一年到三年。Let's Encrypt 簽發的證書有效期只有90天,甚至希望縮短到60天。有效期越短,泄密后可供監控的窗口就越短。

2:部署Let's Encrypt證書

2.1 檢查服務器是否安裝Python與Git

檢測Python指令

#檢查Python的版本是否在2.7以上 python -v //2.7版本 

如果沒有安裝Python的話,執行以下命令進行安裝(如果檢測到已安裝則略過)

#安裝python所需的包 yum install zlib-devel yum install bzip2-devel yum install openssl-devel yum install ncurses-devel yum install sqlite-devel #獲取到Python cd /usr/local/src wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz #解壓Python2.7.12 tar -xvf Python-2.7.12.tar.xz #編譯python cd Python-2.7.12/ ./configure --prefix=/usr/local/python2.7 make && make install #建立link ln -s /usr/local/python2.7/bin/python2.7 /usr/local/bin/python #解決系統 Python 軟鏈接指向 Python2.7 版本后,因為yum是不兼容 Python 2.7的,所需要指定 yum 的Python版本 # vim /usr/bin/yum將頭部的 #!/usr/bin/python 改成 #!/usr/bin/python2.6.6 

檢測Git指令

#檢查系統是否安裝git git--version 

如果沒有安裝Git的話,執行以下命令進行安裝(如果檢測到已安裝則略過)

#git 安裝 yum install git 
2.2 快速獲取Let's Encrypt免費SSL證書

相較于第一種自簽生成證書的方法,Let's Encrypt肯定是考慮到推廣HTTPS的普及型會讓用戶簡單的獲取和部署SSL證書,所以可以采用下面簡單的一鍵部署獲取證書。

#獲取letsencrypt git clone https://github.com/letsencrypt/letsencrypt #進入letsencrypt目錄 cd letsencrypt #生成證書--email后填寫自己的郵箱 -d 后面填寫需要配置證書的域名(支持多個哦) ./letsencrypt-auto certonly --standalone --email t@tsy6.com -d hxkj.vip -d www.hxkj.vip 

Let's Encrypt是支持綁定多域名的,上述兩種方法都是只支持單域名。

2.3 Let's Encrypt免費SSL證書獲取與應用

在完成Let's Encrypt證書的生成之后,我們會在"/etc/letsencrypt/live/hxkj.vip/"域名目錄下有4個文件就是生成的密鑰證書文件。

cert.pem- Apache服務器端證書
chain.pem- Apache根證書和中繼證書
fullchain.pem- Nginx所需要ssl_certificate文件
privkey.pem - 安全證書KEY文件

因為我的是Nginx環境,那就需要用到fullchain.pem和privkey.pem兩個證書文件。修改nginx配置的詳細過程,上面兩種方法都提到了,這里不再贅述,以下我修改好的配置文件:

server { listen 443; server_namehxkj.vip www.hxkj.vip; ssl on; root /usr/share/nginx/html;ssl_certificate "/etc/letsencrypt/live/hxkj.vip/fullchain.pem"; ssl_certificate_key "/etc/letsencrypt/live/hxkj.vip/privkey.pem"; ssl_session_cache shared:SSL:1m; ssl_session_timeout5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on;location / { }error_page 404 /404.html; location = /40x.html { }error_page 500 502 503 504 /50x.html; location = /50x.html { } } 
OK,到這里就完成了使用Let's Encrypt免費證書的方法配置https協議,大家也可訪問我的頁面來查看效果,地址:https://hxkj.vip
下面是證書檢測詳情
letsencrypt證書檢測詳情

從上圖可以看出,Let's Encrypt證書是有效期90天的,需要我們自己手工更新續期才可以。但是,身為程序員,可以自動執行的事,堅決不手動搞。

2.4 Let's Encrypt證書自動續期,實現真正的永久免費使用
2.4.1 編寫shell腳本

執行以下命令,在"/etc/letsencrypt/live/hxkj.vip/"域名目錄下創建腳本,方便管理

vim /etc/letsencrypt/live/hxkj.vip/updatessl.sh//創建一個名字為updatessl的腳本 

然后在腳本里添加如下代碼

#!/bin/sh /usr/local/src/Python-2.7.12/letsencrypt/certbot-auto renew --force-renew --pre-hook "service nginx stop" --post-hook "service nginx start" #第一行是指此腳本使用/bin/sh 來執行 #第二行中--force-renew參數代表強制更新 

退出并保存,然后給腳本添加可執行權限

// 這里的文件路徑填寫你自己的文件路徑 chmod +x /etc/letsencrypt/live/hxkj.vip/updatessl.sh 
2.4.2 創建定時任務

打開crontab文件

crontab -e 

然后在文件末尾添加一行以下內容

0028 ** root /etc/letsencrypt/live/hxkj.vip/updatessl.sh //我這里代表每月28號更新一次證書文件,文件路徑填寫你自己的文件路徑 

具體格式如下:

MinuteHour Day Month Dayofweek command
分鐘 小時 天 月 天每星期 命令

每個字段代表的含義如下:

Minute 每個小時的第幾分鐘執行該任務
Hour 每天的第幾個小時執行該任務
Day 每月的第幾天執行該任務
Month 每年的第幾個月執行該任務
DayOfWeek 每周的第幾天執行該任務
Command 指定要執行的程序

在這些字段里,除了“Command”是每次都必須指定的字段以外,其它字段皆為可選字段,可視需要決定。對于不指定的字段,要用“*”來填補其位置。

記得重啟crontab服務哦。好了,自動更新證書已經配置完了,再也不用擔心證書過期啦!這也是我推薦使用這種方式生成證書的原因之一,沒辦法,懶啊~~~

四、總結

1.通過Linux自簽方式生成簽名文件,這種方式操作繁瑣,安全性低,反正就是吃力不討好,不推薦使用。
2.使用阿里云的免費證書,配置方便,唯一的缺點就是有效期只有一年,萬一忘記更新就炸了。但是一年的時間也還好,可以考慮使用。
3.使用Let's Encrypt證書,安全性優良,各大廠商都支持,還能實現自動更新有效期,這種方式強烈推薦!!!

轉載請注明出處:https://www.jianshu.com/p/eaad77ed1c1b
作者:TSY

喜歡的話,可以關注下我的微信公眾號

微信公眾號
本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.kwpm.com.cn/20453.html
相關開發語言
 八年  行業經驗

多一份參考,總有益處

聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

咨詢相關問題或預約面談,可以通過以下方式與我們聯系

業務熱線:余經理:13699882642

Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

  • QQ咨詢
  • 在線咨詢
  • 官方微信
  • 聯系電話
    座機0755-29185426
    手機13699882642
  • 預約上門
  • 返回頂部
主站蜘蛛池模板: 日本18网站 | 午夜私人影院在线观看 视频 | 美女18黄| 日韩一区二区三区四区区区 | 欧洲美女a视频一级毛片 | 曰批视频在线观看 | 精品五夜婷香蕉国产线看观看 | 韩国伦理中文字幕 | 26uuu另类欧美亚洲日本 | 国产日日操 | 天天做天天爱天天干 | haose16在线永久免费 | 天天涩综合 | 色图欧美色图 | 亚洲综合日韩中文字幕v在线 | 大黄香蕉视频 | 99久久er这里只有精品17 | 国产成人18黄网站免费网站 | 国产一级片免费视频 | 成人小视频在线观看 | 亚洲成a人片在线v观看 | 一个人免费看的视频www | 国产一卡二卡三卡 | 好男人社区成人影院在线观看 | 欧美色操| 久久精品国产第一区二区 | 日本精品中文字幕在线播放 | 香蕉视频a级片 | 日韩一级视频 | 天天干天天操天天舔 | 丁香激情六月天 | 夜夜骑天天操 | 久久亚洲国产最新网站 | 欧美性精品hd在线观看 | 欧美成人一区亚洲一区 | 青青草国产青春综合久久 | 欧美国产伦久久久久 | 日韩免费毛片全部不收费 | 午夜影院性 | 中文字幕一区二区区免 | 黄色小视频免费网站 |