給自己的網站裝上SSL證書
給網站裝上SSL證書
前言
主要是因為自己的阿里雲快過期了,自己的部落格也重新用了一下Halo,重新安裝SSL的時候有些地方忘了,所以在此留個記錄!
關於SSL
阮一峰《圖解圖解SSL/TLS協議》://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html
SSL證書是什麼?
SSL 證書是一個數字證書,用於認證網站的身份並啟用加密連接。SSL 代表安全套接字層,這是一個安全協議,可在 Web 伺服器和 Web 瀏覽器之間創建加密鏈接。
公司和組織需要在其網站上添加 SSL 證書,以保護在線交易並保持客戶資訊的私密性和安全性。
簡而言之:SSL 可確保互聯網連接的安全,並防止犯罪分子讀取或修改兩個系統之間傳輸的資訊。如果您在地址欄中的 URL 旁看到一個掛鎖圖標,則表示 SSL 在保護您正在訪問的網站。
自 SSL 協議在約 25 年前發布以來,已經有多個版本問世,所有這些版本在某些時候都會遇到安全性方面的難題。隨後出現了經過修改和重命名的版本 – TLS(傳輸層安全性),至今仍在使用。但是,首字母縮寫 SSL 早已深入人心,因此該協議的新版本通常仍在使用這一舊名稱
為什麼需要 SSL 證書
網站需要 SSL 證書來確保用戶數據的安全,驗證網站的所有權,防止攻擊者創建虛假網站版本,以及將信任傳達給用戶。
如果網站要求用戶登錄、輸入個人詳細資訊(例如其信用卡號)或查看機密資訊(例如,健康福利或財務資訊),則必須對數據保密。SSL 證書有助於保持在線互動的私密性,並向用戶保證該網站是真實可靠的,可以與其共享私密資訊。
與企業更相關的事實是,HTTPS Web 地址需要 SSL 證書。HTTPS 是 HTTP 的安全形式,這意味著 HTTPS 網站的流量通過 SSL 進行了加密。大多數瀏覽器將 HTTP 網站(沒有 SSL 證書的網站)標記為「不安全」。這向用戶發出了一個明確的訊號,即該網站可能不值得信任,這有助於敦促尚未遷移到 HTTPS 的企業執行遷移。
SSL 證書有助於保護資訊,例如:
登錄憑據
信用卡交易或銀行賬戶資訊
個人身份資訊 – 例如全名、地址、出生日期或電話號碼
法律文檔和合約
病歷
專有資訊
SSL 證書如何工作?
SSL 的原理是確保用戶和網站之間或兩個系統之間傳輸的任何數據始終無法被讀取。它使用加密演算法對傳輸中的數據進行加密,從而防止黑客讀取通過連接發送的數據。該數據包括潛在的敏感資訊,例如姓名、地址、信用卡號或其他財務詳細資訊。
該過程如下所示:
瀏覽器或伺服器嘗試連接到使用 SSL 保護的網站(即 Web 伺服器)。
瀏覽器或伺服器請求 Web 伺服器證明自己的身份。
作為響應,Web 伺服器向瀏覽器或伺服器發送它的 SSL 證書的副本。
瀏覽器或伺服器檢查以了解是否信任 SSL 證書。如果信任,它將向 Web 伺服器發出訊號。
然後,Web 伺服器返回經過數字簽名的確認,以啟動 SSL 加密會話。
加密數據在瀏覽器或伺服器與 Web 伺服器之間共享。
此過程有時稱為「SSL 握手」。雖然這個過程聽起來似乎很漫長,但實際發生時只有幾毫秒。
當網站具備 SSL 證書保護時,首字母縮寫 HTTPS(代表安全超文本傳輸協議)會顯示在 URL 中。如果沒有 SSL 證書,則只會顯示字母 HTTP(即沒有代表安全的 S)。URL 地址欄中也會顯示一個掛鎖圖標。這表示信任,並向那些訪問該網站的人提供了保證。
要查看 SSL 證書的詳細資訊,可以單擊瀏覽器欄中的掛鎖符號。SSL 證書中通常包括的詳細資訊包括:
針對其頒發證書的域名
頒發給哪個人、組織或設備
哪個證書頒發機構頒發了證書
證書頒發機構的數字簽名
關聯的子域
證書的頒發日期
證書的到期日期
公鑰(不公開私鑰)
引用:《什麼是 SSL 證書 – 定義和解釋》://www.kaspersky.com.cn/resource-center/definitions/what-is-a-ssl-certificate
開始安裝
參考自水哥的公眾號://mp.weixin.qq.com/s/IaIGnFmfRZ8ODOCJuiLciQ
B站搜「不高興就喝水」,水哥的公眾號中的文章還是很肝的!目前沒有淪陷!
1、進入阿里雲點擊立即購買,選擇免費的
對於購買可以參考官方文檔://help.aliyun.com/document_detail/156645.html
2、審核通過後,進入控制台下載
得到兩個文件
3、上傳文件
#進入Nginx默認安裝目錄。如果您修改過默認安裝目錄,請根據實際配置進行調整。
cd /usr/local/nginx/conf
#創建證書目錄,命名為cert。然後把證書丟裡頭
mkdir cert
4、在nginx.conf中加入以下內容
(不要改原有的sever,這只不過是新加的一個模組,注意看原有文件中注釋的內容,方便理解),輸入「vim nginx.conf」進行編輯,寫完後按鍵盤「ESC」健輸入「:wq」即完成保存退出。
關於Vim可以看一下我以前做的一些記錄:
//www.cnblogs.com/yuyueq/p/14022693.html (文末有一些vim操作)
//www.cnblogs.com/yuyueq/p/13193852.html (Vim設置行號)
server {
listen 443 ssl;
#配置HTTPS的默認訪問埠為443。
#如果未在此處配置HTTPS的默認訪問埠,可能會造成Nginx無法啟動。
#如果您使用Nginx 1.15.0及以上版本,請使用listen 443 ssl代替listen 443和ssl on。
server_name www.yzfree.com;
#把www.yzfree.com替換成你自己的域名
#需要將yourdomain.com替換成證書綁定的域名。
root html;
index index.html index.htm;
ssl_certificate cert/5452872_www.yzfree.com.pem; #需要將cert-file-name.pem替換成已上傳的證書文件的名稱。
ssl_certificate_key cert/5452872_www.yzfree.com.key; #需要將cert-file-name.key替換成已上傳的證書密鑰文件的名稱。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的類型。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS協議的類型。
ssl_prefer_server_ciphers on;
location / {
proxy_pass //localhost;
}
}
5、進行編譯重啟
如果最後失敗,要注意nginx.conf配置文件的正確性,以及下面1到5的步驟,不成功則重複1到5這個步驟
1.切換到源碼包下
# cd /usr/local/src/nginx-1.18.0
2.生成makefile(如果你的目錄下沒有「configure」是不成功的):
# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
3.配置完成後,運行命令編譯:
# make
make命令執行後,不要進行make install,否則會覆蓋安裝。
4.備份原有已安裝好的nginx:
# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
5.停止nginx狀態:
# /usr/local/nginx/sbin/nginx -s stop
6.將編譯好的nginx覆蓋掉原有的nginx:
# cd /usr/local/src/nginx-1.18.0
# cp ./objs/nginx /usr/local/nginx/sbin/
7.提示是否覆蓋,輸入yes即可。
8.然後啟動nginx:
# /usr/local/nginx/sbin/nginx
9.進入nginx/sbin目錄下,通過命令查看模組是否已經加入成功:
# cd /usr/local/nginx/sbin/
# ./nginx -V
10.顯示以下資訊,則證明已經編譯成功:
nginx version: nginx/1.6.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
6、最後
網站改用https便可成功訪問,至於以上步驟對於初學者來說一般會有問題,所以可以參考一些這些文章
nginx: [emerg] the “ssl” parameter requires ngx_http_ssl_module in /usr/loc://www.cnblogs.com/ghjbk/p/6744131.html
jar包後台啟動:
//cloud.tencent.com/developer/article/1722069
window和Linux關閉埠:
//www.cnblogs.com/yuyueq/p/14787857.html