為網(wǎng)站添加SSL證書(shū)并配置HTTP2(一)

個(gè)人博客:https://xiaofengsir.com/,關(guān)注更新文章

一. 配置SSL證書(shū)

證書(shū)說(shuō)明:這里使用的證書(shū)是阿里云個(gè)人一年免費(fèi)的SSL證書(shū),只需要在阿里云上申請(qǐng)即可獲得。
web服務(wù)器說(shuō)明:這里采用的web服務(wù)器是Nginx服務(wù)器。
服務(wù)器操作系統(tǒng)說(shuō)明:這里使用的是Centos 7.x系統(tǒng)。
終端登陸工具與FTP工具說(shuō)明:這里使用的是Xshell與Xftp工具。


1. 下載證書(shū)

1.登陸到阿里云控制臺(tái),今天證書(shū)安全下載界面,選擇Nginx/Tengine,下載證書(shū),并解壓到桌面。


2. 上傳證書(shū)到服務(wù)器

1.登陸到服務(wù)器,并進(jìn)入到Nginx目錄。


2.創(chuàng)建證書(shū)存放目錄:


3.使用Xftp將證書(shū)上傳至新建的目錄下:


3. 配置Nginx使其支持SSL證書(shū)

1.進(jìn)入nginx下的conf.d目錄,創(chuàng)建一個(gè)新的.conf文件,命名為ssl.域名.conf(命名可任意,但需以.conf結(jié)尾)。


2.為新建的.conf文件添加如下代碼:

server {
    listen 443;
    
    #------------------------------------
    # 修改為你的域名
    server_name 域名.com www.域名.com;
    #------------------------------------
    
    ssl on;
    
    #-----------------------------------------------------
    # root目錄,即為你網(wǎng)站的存放目錄
    root /mnt/www/域名.com/public_html/wordpress/;
    #------------------------------------------------------

    index index.html index.htm index.php;
        
    #--------------------------------------------------------------------
    # 將下面兩行修改為SSL證書(shū)存放路徑
    ssl_certificate   /etc/nginx/ssl/域名.com/214190949470644.pem;
    ssl_certificate_key  /etc/nginx/ssl/域名.com/214190949470644.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;
   
    #---------------------------------------------------------------------------- 
    # 以下為Nginx的基本配置
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include fastcgi.conf;
    }
    #------------------------------------------------------------------------------
}

3.測(cè)試下配置的正確性,成功后重啟下Nginx,再打開(kāi)瀏覽器測(cè)試HTTPS是否能正常訪(fǎng)問(wèn)。

另外說(shuō)明:可以看到目前conf.d目錄里有3個(gè)以.conf結(jié)尾的配置文件,basic.conf為基本的解析配置文件;域名.conf為不使用SSL證書(shū)的http配置文件;ssl.域名.com為新增加的使用SSL證書(shū)的HTTPS配置文件。因此,在目前未配置301重定向的情況下,打開(kāi)瀏覽器測(cè)試網(wǎng)站的時(shí)候,可以發(fā)現(xiàn)網(wǎng)站即可正常訪(fǎng)問(wèn)http,也可以正常訪(fǎng)問(wèn)https。


二. 為Nginx配置301重定向

說(shuō)明:在上面結(jié)尾說(shuō)了,目前網(wǎng)站的狀態(tài)應(yīng)該是http和https都可以正常訪(fǎng)問(wèn)?,F(xiàn)在則為Nginx配置一下301重定向,這樣當(dāng)訪(fǎng)問(wèn)網(wǎng)站的時(shí)候就會(huì)自動(dòng)定向到https,而不會(huì)在通過(guò)http訪(fǎng)問(wèn)網(wǎng)站了。

配置301重定向

1.進(jìn)入Nginx配置目錄,打開(kāi)http的配置文件



2.編輯域名.conf配置文件

# 刪除所有其他代碼,僅添加如下代碼即可

server {
  listen        80;
  
  #------------------------------------
  # 將“域名”改為你自己的域名
  server_name   域名.com www.域名.com;
  #------------------------------------
  
  return 301    https://$host$request_uri;
}

注意:這里編輯的是域名.conf,而不是ssl.域名.conf?。?!


3.重啟Nginx,打開(kāi)瀏覽器測(cè)試

systemctl restart nginx

配置至此,網(wǎng)站已經(jīng)只會(huì)再通過(guò)https訪(fǎng)問(wèn)了,但是仍然還不會(huì)使用http2.0協(xié)議,在下一篇中將會(huì)說(shuō)明如何配置http2.0。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • WWDC 16 中,Apple 表示將繼續(xù)在 iOS 10 和 macOS 10.12 里收緊對(duì)普通 HTTP 的...
    小如99閱讀 6,386評(píng)論 0 25
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評(píng)論 19 139
  • 配置運(yùn)行Nginx服務(wù)器用戶(hù)(組) 用于配置運(yùn)行Nginx服務(wù)器用戶(hù)(組)的指令是user,其語(yǔ)法格式為: use...
    吃瓜的東閱讀 4,683評(píng)論 0 41
  • Nginx簡(jiǎn)介 解決基于進(jìn)程模型產(chǎn)生的C10K問(wèn)題,請(qǐng)求時(shí)即使無(wú)狀態(tài)連接如web服務(wù)都無(wú)法達(dá)到并發(fā)響應(yīng)量級(jí)一萬(wàn)的現(xiàn)...
    魏鎮(zhèn)坪閱讀 2,210評(píng)論 0 9
  • 早上去樓下吃飯,偶遇同學(xué),便坐下一起閑聊。突然想起了那個(gè)和我有“血海深仇”的同學(xué)S,于是就問(wèn)她們,“那個(gè)S報(bào)哪里了...
    沉吟碧云間閱讀 169評(píng)論 0 0

友情鏈接更多精彩內(nèi)容