一、認識ssl證書
1、ssl證書是什么?
SSL證書,全稱Secure Socket Layer Certificate,是一種數字證書,它遵循SSL(現在通常指TLS,Transport Layer Security)協議標準,用于在客戶端(如瀏覽器)和服務器之間建立安全的加密連接。SSL證書的核心作用包括:
2、ssl證書的作用
1. 服務器身份驗證:SSL證書由受信任的第三方機構(稱為證書頒發機構,CA)簽發,該機構在頒發證書前會對申請者進行身份驗證,確保網站或服務器的真實性。這有助于防止欺詐和中間人攻擊,讓用戶可以確信他們正在與正確的網站或服務進行通信。
2. 數據加密:當用戶與安裝了SSL證書的網站進行通信時,兩者之間傳輸的所有數據都會被加密,包括但不限于登錄憑據、信用卡信息、個人信息等。這種加密保護了數據在傳輸過程中不被非法截取或篡改,確保了數據的機密性和完整性。
3. 建立信任:瀏覽器會在地址欄顯示掛鎖圖標,以及使用“https”而非“http”,表示當前連接是安全的。這不僅提升了用戶對網站的信任度,也是很多在線業務進行交易的必備條件,尤其是涉及敏感信息的電子商務、金融服務等。
對我來說,它最大的作用就是可以將我的服務器域名從http變成https,這樣符合微信小程序的要求。
你在本地開發測試,域名可以是http的,但是上線的時候,域名得是https和其他合法域名。
二、如何獲得ssl證書?
進入阿里云官網,打開數字證書服務,點擊ssl證書管理,你可以申請一個免費的ssl證書(3個月),其他信息你可以查看文檔。
?
證書簽發之后,將證書下載到本地
?
根據你自己的服務器類型下載相應的證書,我這里是nginx?
?
我們找到安裝部署文檔?
?
?
把證書放到服務器?
把這段代碼復制到. /usr/local/nginx/conf/nginx.conf
server {#HTTPS的默認訪問端口443。#如果未在此處配置HTTPS的默認訪問端口,可能會造成Nginx無法啟動。listen 443 ssl;#填寫證書綁定的域名server_name <yourdomain>;#填寫證書文件絕對路徑ssl_certificate cert/<cert-file-name>.pem;#填寫證書私鑰文件絕對路徑ssl_certificate_key cert/<cert-file-name>.key;ssl_session_cache shared:SSL:1m;ssl_session_timeout 5m;#自定義設置使用的TLS協議的類型以及加密套件(以下為配置示例,請您自行評估是否需要配置)#TLS協議版本越高,HTTPS通信的安全性越高,但是相較于低版本TLS協議,高版本TLS協議對瀏覽器的兼容性較差。ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;#表示優先使用服務端加密套件。默認開啟ssl_prefer_server_ciphers on;location / {root html;index index.html index.htm;}
}
?在服務器的安全組將443打開
?
將你服務器的443打開
firewall-cmd --zone=public --list-ports 查看哪些端口開放了
systemctl start firewalld 暫時打開防火墻。如果你發現防火墻關了得開
firewall-cmd --zone=public --add-port=443/tcp --permanent 開放指定端口443
firewall-cmd --reload 立即加載重新刷新。 開了端口記得執行這個命令
systemctl stop firewalld 暫時關閉防火墻。開了端口就把防火墻關了,不然訪問不了
?
三、測試
用https:// 你的域名 看看能不能訪問
成功了