Nginx配置SSL證書,實現https訪問

提問:爲什麼要把網站升級到 https?
解答:HTTPS 是一種基於SSL 協議的網站加密傳輸協議。網站安裝 SSL 證書後,使用 HTTPS 加密協議訪問,可激活客戶端瀏覽器到網站服務器之間的 SSL 加密通道(SSL協議),從而實現高強度雙向加密傳輸,防止傳輸數據被泄露或篡改。HTTPS 也就是 HTTP + SSL,是 HTTP 的安全版。
那如何配置呢,別慌,我來也~
首先,需要注意的一點:一張單域名版證書可以保護一個域名,當申請證書的域名是以“www”開頭的子域名時,默認也可以保護不帶“www”的主域名,例如爲 www.sslzhengshu.com 申請SSL, 則 sslzhengshu.com 也可以在該SSL的保護下面;反正,爲 sslzhengshu.com 申請SSL, 則 www.sslzhengshu.com也可以在該SSL的保護下面。因此無需重複申請。如果您爲 login.sslzhengshu.com 申請 SSL, 則 sslzhengshu.com 默認是不會被保護的。

  1. 購買 SSL 證書,我選擇的是免費版的
  2. 證書申請(證書綁定域名)
    填寫證書綁定的域名、申請人信息,選擇域名驗證方式,驗證並提交審覈
  3. 證書下載
    在 SSL 證書頁面,點擊已簽發標籤,定位到需要下載的證書,點擊右側的下載,下載 Nginx 版證書壓縮包到本地。
  4. 在服務器上安裝 SSL 證書並重啓nginx
    第一步:解壓 Nginx 證書(有 .pem 和 .key 爲後綴的兩個文件)。
    第二步:在 Nginx 的安裝目錄下創建 cert 目錄,將下載的兩個文件上傳到 cert 目錄中。
    第三步:打開Nginx 的安裝目錄下的配置文件 conf.d/*.conf,替換爲以下內容:
    server {
         listen 80;
         server_name localhost;
         rewrite ^(.*)$ https://$host$1 permanent; //實現http訪問自動跳轉到https
         location / {
         index index.html index.htm;
     }
     server {
         listen 443;
         server_name localhost;
         ssl on;
         root html;
         index index.html index.htm;
         ssl_certificate cert/domain name.pem;   #將domain name.pem替換成您證書的文件名。
         ssl_certificate_key cert/domain name.key;   #將domain 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;
         ssl_prefer_server_ciphers on;
         location / {
         index index.html index.htm;
       }
    
    第四步:檢查 nginx 配置 nginx -t
    此時,會有一個警告:nginx: [warn] the “ssl” directive is deprecated, use the “listen … ssl” directive instead in /etc/nginx/conf.d/www.test.com.conf:12
    解決:去掉ssl on;將listen 443 改爲listen 443 ssl;
    執行nginx -t ok了!
    第五步:重啓 Nginx 服務器 nginx -s reload。
  5. 進入阿里雲/騰訊雲安全組,開放 443 端口
  6. 雲服務器的防火牆開啓 443 端口
    firewall-cmd --zone=public --add-port=443/tcp --permanent 增加443端口
    firewall-cmd --reload 重啓防火牆
  7. 訪問,成功~
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章